An online taxi booking platform with driver‑passenger interaction and real‑time ride management. Built with a clean Frontend / Backend architecture.
Live demo: oline-taxi-app.vercel.app (if deployed) Repo folders: Frontend/ and Backend/
- User authentication for passengers and drivers
- Real‑time ride booking and status updates (via Socket.IO)
- Pickup & drop location selection with Maps API
- Ride request notifications for drivers
- Ride status flow: requested → accepted → ongoing → completed
- Fare calculation and ride history
- Profile management for both drivers and users
- Mobile‑responsive UI
Note: Adjust this list to exactly match what you’ve implemented.
Frontend: React (Vite) + Tailwind CSS Backend: Node.js, Express, Socket.IO Database: MongoDB (Mongoose) Auth: JWT with cookies or headers Maps API: Google Maps / Mapbox Deployment: Vercel (frontend), Render/Railway (backend)
Oline-Taxi-App/
├── Frontend/ # React app (UI)
│ ├── src/
│ ├── public/
│ └── package.json
└── Backend/ # API + WebSocket server
├── src/ or server.js
├── package.json
└── .env (local only)
- Node.js LTS and npm/yarn
- MongoDB (local or Atlas)
- Maps API key (Google/Mapbox)
git clone https://github.com/Xabhi0811/Oline-Taxi-App.git
cd Oline-Taxi-Appcd Backend
npm installCreate Backend/.env:
Start backend:
npm run dev # or: npm startcd ../Frontend
npm installCreate Frontend/.env:
Start frontend:
npm run devOpen http://localhost:5173 in your browser.
Backend
PORT– server portMONGODB_URI– Mongo connection stringJWT_SECRET– JWT signing secretCLIENT_URL– allowed frontend originMAP_API_KEY– Google/Mapbox API key
Frontend (Vite)
VITE_API_URL– REST API base URLVITE_SOCKET_URL– WebSocket server URLVITE_MAP_API_KEY– Maps API key
Auth
POST /api/auth/signup– register userPOST /api/auth/login– login and return tokenGET /api/auth/me– current user profile
Rides
POST /api/rides/request– request a rideGET /api/rides/:id– fetch ride detailsPATCH /api/rides/:id/status– update ride status
Client → Server
ride:request{pickup, destination}ride:accept{rideId}ride:update{rideId, status}
Server → Client
ride:new{ride details}ride:accepted{rideId, driver}ride:status{rideId, status}
Database
- Use MongoDB Atlas and update
MONGODB_URI
Backend
{
"scripts": {
"dev": "nodemon server.js",
"start": "node server.js"
}
}Frontend
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
}
}- Add exact routes and socket events
- Confirm ports and env variable names
- Insert screenshots/GIF demos
- Add license info
Add app screenshots or GIFs here.
Specify your license (e.g., MIT). Create a LICENSE file.
PRs are welcome! Please open an issue for major changes.
- Google Maps / Mapbox for geolocation
- Socket.IO for real‑time rides
- MongoDB/Mongoose for data storage
- Vercel/Render for deployment
- CORS errors: Ensure
CLIENT_URLmatches frontend URL and CORS is enabled - WebSocket issues: Confirm your host supports sockets and correct URL is set
- .env not working: Ensure env files are in the right place and loaded