A Django-based ride-sharing platform API that implements core functionalities similar to Uber. This project provides a robust backend system for managing ride bookings, user authentication, and real-time ride tracking.
-
User Management
- User registration and authentication
- JWT-based authentication system
- Separate driver and rider roles
-
Ride Management
- Create ride requests
- View ride details
- List all rides
- Real-time status updates
-
Location Tracking
- Simulated real-time ride tracking
- Current location updates
- Trip history
-
Driver-Rider Matching
- Smart matching algorithm based on proximity
- Driver ride acceptance system
- Availability status management
- Built with Django and Django Rest Framework
- Comprehensive API documentation
- Extensive test coverage
- Real-time updates using WebSocket
- Clone the repository:
git clone https://github.com/sunithvs/RideBook.git
cd rideshare
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run migrations:
python manage.py migrate
- Start the development server:
python manage.py runserver
POST /api/auth/register/
- User registrationPOST /api/auth/login/
- User login
POST /api/rides/
- Create ride requestGET /api/rides/
- List all ridesGET /api/rides/<id>/
- Get ride detailsPATCH /api/rides/<id>/
- Update ride status
GET /api/rides/available/
- List available ridesPOST /api/rides/<id>/accept/
- Accept ride requestPATCH /api/driver/status/
- Update availability status
Run the test suite:
python manage.py test
- Django
- Django Rest Framework
- PostgreSQL
- Redis (for real-time features)
- pytest (for testing)
This project is licensed under the MIT License - see the LICENSE.md file for details.