Skip to content

codinggita/kbdhavya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

103 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš— UrbanMove - Corporate Shuttle Platform

React Node.js MongoDB Material UI Tailwind CSS Postman

🌟 A modern corporate shuttle booking and management platform 🌟

Streamlining employee transportation with real-time tracking, scheduling, and analytics

🎨 Figma Design | 🌐 Live Project | πŸ“„ Postman Documentation | πŸ–₯️ Backend Link | πŸŽ₯ YouTube Demo

πŸ“Œ Problem Statement

Commuting to large corporate hubs, IT parks, and business campuses is often a stressful and inefficient experience for employees. Public transport can be unreliable, and private vehicle use contributes to traffic congestion and environmental impact. Corporate shuttles often lack real-time tracking, transparent booking systems, and efficient route management, leading to wasted time and poor employee satisfaction.

πŸ’‘ Solution

UrbanMove provides a comprehensive, tech-enabled corporate shuttle platform that bridges the gap between employees and reliable transportation. By offering real-time tracking, instant booking, and an intuitive dashboard for both users and admins, UrbanMove ensures a seamless commute. Features like GPS-integrated route optimization and multi-role management make it a robust solution for modern corporate needs.

πŸš€ Features

🎯 Core Features

  • πŸ‘₯ Multi-Role System: Admin, Driver, and Passenger roles
  • πŸ“… Real-time Booking: Schedule and book rides instantly
  • πŸ—ΊοΈ Live Tracking: Real-time GPS tracking of shuttles
  • πŸ’³ Payment Integration: Multiple payment methods and wallet system
  • πŸ“Š Analytics Dashboard: Comprehensive ride and user analytics
  • πŸ”” Smart Notifications: Real-time alerts and updates

🎨 User Experience

  • πŸ“± Responsive Design: Mobile-first approach with Material UI
  • πŸŒ™ Dark Mode: Toggle between light and dark themes
  • 🎭 Smooth Animations: Framer Motion and Lottie animations
  • πŸ—£οΈ Multi-language Support: Internationalization ready
  • β™Ώ Accessibility: WCAG compliant design

πŸ”§ Technical Features

  • πŸ” JWT Authentication: Secure token-based authentication
  • πŸ›‘οΈ Rate Limiting: API protection against abuse
  • πŸ“§ Email Verification: Secure user onboarding
  • πŸ”„ Real-time Updates: Socket.io for live data
  • ☁️ Cloud Storage: Cloudinary for file uploads
  • πŸ“ˆ Performance: Optimized with React and Vite

πŸ› οΈ Tech Stack

🎨 Frontend

React 18.2.0          βš›οΈ  UI Library
React Router 6.21.1    πŸ›£οΈ  Routing
Material UI 5.15.3     🎨  Component Library
Tailwind CSS 3.4.0     🎭  Styling
Framer Motion 10.16.16 🎬  Animations
Redux Toolkit 2.0.1    πŸ”„  State Management
Axios 1.6.2           🌐  HTTP Client
Socket.io Client 4.6.1 πŸ”Œ  Real-time

πŸ–₯️ Backend

Node.js                🟒  Runtime
Express 4.18.2        πŸš€  Framework
MongoDB 8.0.3         πŸƒ  Database
Mongoose 8.0.3        πŸ”—  ODM
JWT 9.0.2            πŸ”  Authentication
Socket.io 4.6.1       πŸ”Œ  Real-time
Cloudinary 1.41.0     ☁️  Cloud Storage
Nodemailer 6.9.7      πŸ“§  Email Service

πŸ› οΈ Development Tools

Vite 5.0.8            ⚑  Build Tool
ESLint 8.55.0         πŸ”  Linting
Prettier 3.1.1        πŸ’…  Code Formatting
Nodemon 3.0.2         πŸ”„  Auto-restart

πŸ—οΈ Proper Folder Structure

UrbanMove/
β”œβ”€β”€ πŸ“ client/                 # React Frontend
β”‚   β”œβ”€β”€ πŸ“ public/
β”‚   β”œβ”€β”€ πŸ“ src/
β”‚   β”‚   β”œβ”€β”€ πŸ“ components/     # Reusable Components
β”‚   β”‚   β”œβ”€β”€ πŸ“ context/        # React Context
β”‚   β”‚   β”œβ”€β”€ πŸ“ pages/          # Page Components
β”‚   β”‚   β”œβ”€β”€ πŸ“ routes/         # Route Definitions
β”‚   β”‚   β”œβ”€β”€ πŸ“ hooks/          # Custom Hooks
β”‚   β”‚   β”œβ”€β”€ πŸ“ utils/          # Utility Functions
β”‚   β”‚   └── πŸ“ styles/         # CSS/Styles
β”‚   β”œβ”€β”€ πŸ“„ package.json
β”‚   └── πŸ“„ vite.config.js
β”œβ”€β”€ πŸ“ server/                 # Node.js Backend
β”‚   β”œβ”€β”€ πŸ“ controllers/        # Route Controllers
β”‚   β”œβ”€β”€ πŸ“ models/            # Database Models
β”‚   β”œβ”€β”€ πŸ“ routes/            # API Routes
β”‚   β”œβ”€β”€ πŸ“ middleware/        # Custom Middleware
β”‚   β”œβ”€β”€ πŸ“ utils/             # Utility Functions
β”‚   └── πŸ“„ package.json
β”œβ”€β”€ πŸ“„ README.md
└── πŸ“„ .gitignore

πŸ“± Project Screenshots/Images

Landing Page

Landing Page - Modern & Responsive Corporate Shuttle Interface

Dashboard

Admin Dashboard - Real-time Analytics and Route Tracking

Login Page

Secure Login - Unified Access for Employees and Drivers

πŸ“‹ Table of Contents

🚦 Routes

🏠 Public Routes

Route Component Description
/ Landing 🏠 Main landing page
/home Home 🏑 Home page
/login Login πŸ” User authentication
/register Register πŸ“ User registration
/forgot-password ForgotPassword πŸ”‘ Password recovery
/email-verification EmailVerification βœ‰οΈ Email verification
/about About ℹ️ About us
/contact Contact πŸ“ž Contact page
/faq FAQ ❓ Frequently asked questions
/help Help πŸ’‘ Help center
/terms Terms πŸ“„ Terms of service
/privacy Privacy πŸ”’ Privacy policy

πŸ‘€ User Routes (Protected)

Route Component Description
/dashboard Dashboard πŸ“Š User dashboard
/profile Profile πŸ‘€ User profile
/settings Settings βš™οΈ Account settings
/change-password ChangePassword πŸ” Password change
/book Booking πŸ“… Book a ride
/rides Rides πŸš— My rides
/ride-history RideHistory πŸ“œ Ride history
/ride-details/:id RideDetails πŸ“‹ Ride details
/find-ride FindRide πŸ” Find available rides
/schedule-ride ScheduleRide ⏰ Schedule ride
/ride-tracking/:id RideTracking πŸ“ Track ride
/payment-methods PaymentMethods πŸ’³ Payment methods
/payment-history PaymentHistory πŸ’° Payment history
/wallet Wallet πŸ‘› Digital wallet
/billing Billing 🧾 Billing info
/notifications Notifications πŸ”” Notifications
/messages Messages πŸ’¬ Messages
/map-view MapView πŸ—ΊοΈ Map view

πŸš— Driver Routes (Protected)

Route Component Description
/driver-dashboard DriverDashboard πŸš— Driver dashboard

πŸ›‘οΈ Admin Routes (Protected)

Route Component Description
/admin-dashboard AdminDashboard πŸ›‘οΈ Admin dashboard
/user-management UserManagement πŸ‘₯ Manage users
/ride-management RideManagement πŸš— Manage rides
/analytics Analytics πŸ“Š System analytics
/reports Reports πŸ“ˆ Generate reports

βš™οΈ Installation

πŸ“‹ Prerequisites

  • Node.js 18.x or higher
  • npm or yarn package manager
  • MongoDB database
  • Git

πŸš€ Quick Start

  1. 🍴 Clone the repository
git clone https://github.com/yourusername/UrbanMove.git
cd UrbanMove
  1. πŸ“¦ Install dependencies
# Install client dependencies
cd client
npm install

# Install server dependencies
cd ../server
npm install
  1. πŸ”§ Environment Setup
# Create .env file in server directory
cd server
cp .env.example .env
# Edit .env with your configuration
  1. πŸ—„οΈ Database Setup
# Start MongoDB service
# Create database and collections as needed
  1. πŸš€ Run the application
# Start server (in server directory)
npm run dev

# Start client (in client directory)
npm run dev

🎯 Environment Variables

πŸ–₯️ Server (.env)

# Database
MONGODB_URI=mongodb://localhost:27017/urbanmove
PORT=5000

# JWT
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRE=7d

# Email
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_password

# Cloudinary
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

# Other
NODE_ENV=development
FRONTEND_URL=http://localhost:5173

πŸ“± Available Scripts

🎨 Client Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build
npm run lint         # Run ESLint

πŸ–₯️ Server Scripts

npm start           # Start production server
npm run dev         # Start development server with nodemon

πŸ”§ API Endpoints

πŸ” Authentication

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - User login
  • POST /api/auth/forgot-password - Forgot password
  • POST /api/auth/reset-password - Reset password

πŸ‘€ Users

  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update profile
  • GET /api/users/rides - Get user rides

πŸš— Rides

  • POST /api/rides/book - Book a ride
  • GET /api/rides/available - Get available rides
  • GET /api/rides/:id - Get ride details
  • PUT /api/rides/:id/status - Update ride status

πŸ’³ Payments

  • POST /api/payments/process - Process payment
  • GET /api/payments/history - Payment history
  • POST /api/payments/wallet - Wallet operations

🎨 Component Library

🧩 Reusable Components

  • 🎭 LottieLoader - Animated loading components
  • πŸ—ΊοΈ GoogleMapComponent - Interactive maps
  • πŸ“Š DataGrid - Material UI data tables
  • πŸ”” NotificationSystem - Toast notifications
  • 🎨 ThemeToggle - Dark/light mode switcher
  • πŸ“± ResponsiveLayout - Mobile-friendly layouts

🎯 Custom Hooks

  • πŸ” useAuth - Authentication state management
  • πŸ“ useGeolocation - GPS location tracking
  • πŸ’³ usePayments - Payment processing
  • πŸ”” useNotifications - Real-time notifications

πŸ“Š Features in Detail

🎯 User Roles

  • πŸ‘€ Passenger: Book rides, track shuttles, manage payments
  • πŸš— Driver: Accept rides, update status, navigate routes
  • πŸ›‘οΈ Admin: Manage users, analytics, system settings

πŸ“… Booking System

  • ⚑ Instant Booking: Book available rides immediately
  • ⏰ Scheduled Booking: Plan rides in advance
  • πŸ”„ Recurring Rides: Set up daily/weekly commutes
  • πŸ“ Route Planning: Optimize pickup and dropoff points

πŸ’³ Payment System

  • πŸ’³ Multiple Methods: Credit cards, debit cards, digital wallets
  • πŸ‘› Digital Wallet: Store funds for quick payments
  • 🧾 Auto-billing: Automatic payment processing
  • πŸ“Š Transaction History: Complete payment records

πŸ“Š Analytics

  • πŸ“ˆ Ride Statistics: Usage patterns and trends
  • πŸ‘₯ User Analytics: Active users and engagement
  • πŸ’° Revenue Tracking: Financial performance metrics
  • πŸ“ Route Analytics: Popular routes and efficiency

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch
git checkout -b feature/AmazingFeature
  1. πŸ’Ύ Commit your changes
git commit -m 'Add some AmazingFeature'
  1. πŸ“€ Push to the branch
git push origin feature/AmazingFeature
  1. πŸ”€ Open a Pull Request

πŸ“ Development Guidelines

  • Follow ESLint and Prettier configurations
  • Write meaningful commit messages
  • Add tests for new features
  • Update documentation as needed

πŸ› Bug Reporting

Found a bug? Please report it by:

  1. Creating an issue on GitHub
  2. Providing detailed description
  3. Including steps to reproduce
  4. Adding screenshots if applicable

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • React Team - For the amazing UI library
  • Material UI - For the beautiful component library
  • MongoDB - For the flexible database solution
  • Google Maps API - For mapping and geolocation services

πŸ“ž Contact

  • πŸ‘€ Author: Your Name
  • πŸ“§ Email: your.email@example.com
  • πŸ”— LinkedIn: [Your LinkedIn Profile]
  • 🐦 Twitter: [@yourusername]

⭐ Show Your Support

If you find this project helpful, please give it a ⭐ on GitHub!


Made with ❀️ and β˜• by the UrbanMove Team

Β© 2026 UrbanMove. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages