/bus-it

Primary LanguagePython

Bus Ticket Platform

Overview

Bus Ticket Platform is a web application designed to streamline the process of booking and managing bus tickets. The platform offers various features, including searching for routes, booking tickets, managing bookings, exploring deals, and customer support.

Features

  • User Authentication and Authorization
  • Route Search and Booking
  • Booking Management
  • Explore Deals
  • Customer Support
  • Account Settings

Technologies Used

  • Django 5.0.2
  • Django Ninja
  • Django REST Framework
  • SimpleJWT for Authentication
  • Allauth for Social Authentication
  • Celery for Asynchronous Task Management

Setup and Installation

Prerequisites

  • Python 3.8 or later
  • Django 5.0.2
  • pip (Python package installer)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/bus_ticket_platform.git
    cd bus_ticket_platform
    
  2. Create and activate a virtual environment:

    python -m venv env
    source env/bin/activate  # On Windows, use `env\Scripts\activate`
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Set up environment variables:

    • EMAIL_HOST=smtp.example.com
    • EMAIL_PORT=587
    • EMAIL_USE_TLS=True
    • EMAIL_HOST_USER=your-email@example.com
    • EMAIL_HOST_PASSWORD=your-email-password
    • DEFAULT_FROM_EMAIL=your-email@example.com
    • CELERY_BROKER_URL=redis://localhost:6379/0
    • CELERY_RESULT_BACKEND=redis://localhost:6379/0
  5. Run database migrations:

    python manage.py migrate
    
    

    Usage Visit http://127.0.0.1:8000/admin/ to access the admin panel.

Visit http://127.0.0.1:8000/api/ to access the API endpoints.