Streamlining employee transportation with real-time tracking, scheduling, and analytics
π¨ Figma Design | π Live Project | π Postman Documentation | π₯οΈ Backend Link | π₯ YouTube Demo
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.
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.
- π₯ 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
- π± 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
- π 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
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
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
Vite 5.0.8 β‘ Build Tool
ESLint 8.55.0 π Linting
Prettier 3.1.1 π
Code Formatting
Nodemon 3.0.2 π Auto-restart
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
Landing Page - Modern & Responsive Corporate Shuttle Interface
Admin Dashboard - Real-time Analytics and Route Tracking
Secure Login - Unified Access for Employees and Drivers
- π Features
- π οΈ Tech Stack
- ποΈ Proper Folder Structure
- π± Project Screenshots/Images
- π¦ Routes
- βοΈ Installation
- π Getting Started
- π€ Contributing
- π License
| 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 |
| 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 |
| Route | Component | Description |
|---|---|---|
/driver-dashboard |
DriverDashboard | π Driver dashboard |
| 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 |
- Node.js 18.x or higher
- npm or yarn package manager
- MongoDB database
- Git
- π΄ Clone the repository
git clone https://github.com/yourusername/UrbanMove.git
cd UrbanMove- π¦ Install dependencies
# Install client dependencies
cd client
npm install
# Install server dependencies
cd ../server
npm install- π§ Environment Setup
# Create .env file in server directory
cd server
cp .env.example .env
# Edit .env with your configuration- ποΈ Database Setup
# Start MongoDB service
# Create database and collections as needed- π Run the application
# Start server (in server directory)
npm run dev
# Start client (in client directory)
npm run dev# 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:5173npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLintnpm start # Start production server
npm run dev # Start development server with nodemonPOST /api/auth/register- Register new userPOST /api/auth/login- User loginPOST /api/auth/forgot-password- Forgot passwordPOST /api/auth/reset-password- Reset password
GET /api/users/profile- Get user profilePUT /api/users/profile- Update profileGET /api/users/rides- Get user rides
POST /api/rides/book- Book a rideGET /api/rides/available- Get available ridesGET /api/rides/:id- Get ride detailsPUT /api/rides/:id/status- Update ride status
POST /api/payments/process- Process paymentGET /api/payments/history- Payment historyPOST /api/payments/wallet- Wallet operations
- π LottieLoader - Animated loading components
- πΊοΈ GoogleMapComponent - Interactive maps
- π DataGrid - Material UI data tables
- π NotificationSystem - Toast notifications
- π¨ ThemeToggle - Dark/light mode switcher
- π± ResponsiveLayout - Mobile-friendly layouts
- π useAuth - Authentication state management
- π useGeolocation - GPS location tracking
- π³ usePayments - Payment processing
- π useNotifications - Real-time notifications
- π€ Passenger: Book rides, track shuttles, manage payments
- π Driver: Accept rides, update status, navigate routes
- π‘οΈ Admin: Manage users, analytics, system settings
- β‘ 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
- π³ 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
- π Ride Statistics: Usage patterns and trends
- π₯ User Analytics: Active users and engagement
- π° Revenue Tracking: Financial performance metrics
- π Route Analytics: Popular routes and efficiency
We welcome contributions! Please follow these steps:
- π΄ Fork the repository
- πΏ Create a feature branch
git checkout -b feature/AmazingFeature- πΎ Commit your changes
git commit -m 'Add some AmazingFeature'- π€ Push to the branch
git push origin feature/AmazingFeature- π Open a Pull Request
- Follow ESLint and Prettier configurations
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
Found a bug? Please report it by:
- Creating an issue on GitHub
- Providing detailed description
- Including steps to reproduce
- Adding screenshots if applicable
This project is licensed under the MIT License - see the LICENSE file for details.
- 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
- π€ Author: Your Name
- π§ Email: your.email@example.com
- π LinkedIn: [Your LinkedIn Profile]
- π¦ Twitter: [@yourusername]
If you find this project helpful, please give it a β on GitHub!
Made with β€οΈ and β by the UrbanMove Team
Β© 2026 UrbanMove. All rights reserved.