A Django-based ride-sharing platform that connects passengers with drivers. The application includes user authentication, profile management, vehicle registration, trip booking, and payment integration.
- User Authentication: Secure signup, login, and password management
- Profile Management: User profiles with personal information and addresses
- Dual Account Types: Support for both passengers and drivers
- Vehicle Registration: Drivers can register and manage their vehicles
- Trip Booking: Passengers can book rides with available drivers
- Google Maps Integration: Route planning and distance calculation
- Payment Gateway: Integrated payment processing with SSLCommerz and Stripe
- Rating System: Users can rate their ride experiences
- Backend: Django 6.0
- Database: SQLite3 (development)
- Frontend: HTML/CSS/JavaScript with Google Maps API
- Payment: SSLCommerz, Stripe
- Other: Python Decouple for environment variables
- Python 3.8 or higher
- pip (Python package installer)
- Git
git clone <repository-url>
cd MoverWindows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file in the root directory with the following variables:
SECRET_KEY=your-django-secret-key
DEBUG=True
API_KEY=your-google-maps-api-key
STRIPE_API_KEY=your-stripe-api-key
# Add other necessary environment variablesRun migrations to set up the database:
python manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py collectstaticpython manage.py runserverThe application will be available at http://127.0.0.1:8000/
Mover/
├── Mover/ # Project configuration
│ ├── settings.py # Django settings
│ ├── urls.py # Main URL configuration
│ └── wsgi.py # WSGI configuration
├── MoverApp/ # Main application
│ ├── models.py # Database models (Person, Vehicle, Trip, Address)
│ ├── views.py # View controllers
│ ├── forms.py # Form definitions
│ ├── urls.py # App-specific URLs
│ └── constants.py # Application constants
├── templates/ # HTML templates
├── static/ # Static files (CSS, JS, images)
├── db.sqlite3 # SQLite database
├── manage.py # Django management script
└── requirements.txt # Python dependencies
- PersonModel: User profiles with personal information
- VehicleModel: Vehicle information for drivers
- AddressModel: User addresses
- TripModel: Ride booking and trip details
- Sign Up: Create an account as either a passenger or driver
- Complete Profile: Add personal information and address
- For Drivers: Register vehicle details
- Book a Ride: Passengers can search and book available vehicles
- Payment: Complete payment through integrated gateway
- Rate: Rate your experience after the trip
- Google Maps API: For geolocation and routing features
- Stripe API: For payment processing
- SSLCommerz: For additional payment options
To contribute to this project:
- Create a new branch for your feature
- Make your changes
- Test thoroughly
- Submit a pull request
- Module not found errors: Ensure virtual environment is activated and dependencies are installed
- Database errors: Run
python manage.py migrate - Static files not loading: Run
python manage.py collectstatic - API errors: Verify API keys in
.envfile