https://github.com/sunithvs/ridebook
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.
https://github.com/sunithvs/ridebook
channels django django-rest-framework python
Last synced: about 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/sunithvs/ridebook
- Owner: sunithvs
- Created: 2024-02-09T11:07:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-31T04:27:41.000Z (over 1 year ago)
- Last Synced: 2024-12-31T05:25:09.951Z (over 1 year ago)
- Topics: channels, django, django-rest-framework, python
- Language: Python
- Homepage:
- Size: 109 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RideShare API
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.
## Features
### Core Features
- **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
### Technical Implementation
- Built with Django and Django Rest Framework
- Comprehensive API documentation
- Extensive test coverage
- Real-time updates using WebSocket
## Setup Instructions
1. Clone the repository:
```bash
git clone https://github.com/sunithvs/RideBook.git
cd rideshare
```
2. Create and activate virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
4. Run migrations:
```bash
python manage.py migrate
```
5. Start the development server:
```bash
python manage.py runserver
```
## API Endpoints
### Authentication
- `POST /api/auth/register/` - User registration
- `POST /api/auth/login/` - User login
### Rides
- `POST /api/rides/` - Create ride request
- `GET /api/rides/` - List all rides
- `GET /api/rides//` - Get ride details
- `PATCH /api/rides//` - Update ride status
### Driver
- `GET /api/rides/available/` - List available rides
- `POST /api/rides//accept/` - Accept ride request
- `PATCH /api/driver/status/` - Update availability status
## Testing
Run the test suite:
```bash
python manage.py test
```
## Tech Stack
- Django
- Django Rest Framework
- PostgreSQL
- Redis (for real-time features)
- pytest (for testing)
## License
This project is licensed under the MIT License - see the LICENSE.md file for details.