Skip to content

A web application for booking bus/rail/airways/metro tickets online.

Notifications You must be signed in to change notification settings

Manishnm10/Transport-Wizard

Repository files navigation

Transport Wizard 🚌✈️🚆🚇

A comprehensive web application for booking bus, rail, airways, and metro tickets online with a unified experience.

Table of Contents

Overview

Transport Wizard is a modern, full-stack web application that revolutionizes the way users book transportation tickets. By providing a unified platform for multiple transport modes (bus, rail, air, and metro), users can easily compare options, select seats, and complete bookings all in one place.

🌟 Key Benefits

  • Unified Experience: One platform for all transport modes
  • Time-Saving: Compare multiple options quickly
  • User-Friendly: Intuitive interface with responsive design
  • Secure: Safe payment processing and data protection

Features

🔍 Core Features

  • Multi-Modal Search: Search across bus, rail, air, and metro services
  • Advanced Filtering: Filter by date, time, price, operator, and duration
  • Seat Selection: Interactive seat maps for buses and trains
  • Booking Management: View, modify, and cancel existing bookings
  • Real-time Updates: Live status updates for schedules and availability

Usage

For End Users

  1. Search for Transportation

    • Enter origin and destination
    • Select travel date and time
    • Choose transport mode (bus/rail/air/metro)
  2. Filter and Compare

    • Use filters to narrow down options
    • Compare prices, duration, and amenities
    • Read reviews and ratings
  3. Book Your Trip

    • Select preferred option
    • Choose seats (if applicable)
    • Enter passenger details
    • Complete payment
  4. Manage Bookings

    • View booking history
    • Download tickets
    • Cancel or modify bookings

Technology Stack

Frontend

- HTML5/CSS3/JavaScript
- Framework: React.js / Vue.js (specify your choice)
- UI Library: Bootstrap / Material-UI / Tailwind CSS
- State Management: Redux / Vuex
- Build Tool: Webpack / Vite

Backend

- Runtime: Node.js
- Framework: Express.js
- Authentication: JWT
- Validation: Joi / Yup
- API Documentation: Swagger/OpenAPI

Database

- Primary: MongoDB / PostgreSQL
- Caching: Redis
- Search: Elasticsearch (optional)

DevOps & Tools

- Version Control: Git
- Package Manager: npm / yarn
- Testing: Jest / Mocha
- Linting: ESLint + Prettier
- CI/CD: GitHub Actions
- Containerization: Docker
- Deployment: AWS / Heroku / Vercel

Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js (v18.0.0 or higher)
  • npm (v9.0.0 or higher) or yarn
  • Git (latest version)
  • MongoDB / PostgreSQL (depending on your database choice)
  • Redis (for caching)

Version Check

node --version
npm --version
git --version

Installation

  1. Clone the repository

    git clone https://github.com/Manishnm10/Transport-Wizard.git
    cd Transport-Wizard
  2. Install dependencies

    # Install root dependencies
    npm install
    
    # Install client dependencies
    cd client
    npm install
    cd ..
    
    # Install server dependencies
    cd server
    npm install
    cd ..

Running the Application

Development Mode

Option 1: Using concurrently (recommended)

# Run both client and server simultaneously
npm run dev

Option 2: Run separately

# Terminal 1 - Backend server
cd server
npm run dev

# Terminal 2 - Frontend client
cd client
npm start

Production Mode

# Build the application
npm run build

# Start production server
npm start

Using Docker

# Build and run with Docker Compose
docker-compose up --build

# Run in detached mode
docker-compose up -d

Application URLs:

Development Workflow

  1. Fork the repository

    # Click the "Fork" button on GitHub, then:
    git clone https://github.com/your-username/Transport-Wizard.git
    cd Transport-Wizard
    git remote add upstream https://github.com/Manishnm10/Transport-Wizard.git
  2. Create a feature branch

    git checkout -b feature/amazing-feature
    # or
    git checkout -b fix/bug-description
  3. Make your changes

    • Write clear, maintainable code
    • Follow the existing code style
    • Add tests for new functionality
    • Update documentation as needed
  4. Commit your changes

    git add .
    git commit -m "feat: add amazing new feature"
  5. Push and create a Pull Request

    git push origin feature/amazing-feature

    Then create a Pull Request on GitHub.

Code Style Guidelines

JavaScript/Node.js

  • Use ES6+ features
  • Follow ESLint configuration
  • Use Prettier for formatting
  • Write JSDoc comments for functions

React (if applicable)

  • Use functional components with hooks
  • Follow React best practices
  • Use PropTypes or TypeScript for type checking

CSS

  • Use BEM methodology for naming
  • Mobile-first responsive design
  • Consistent spacing and typography

Pull Request Guidelines

Before submitting a Pull Request:

  • ✅ Run tests: npm test
  • ✅ Run linting: npm run lint
  • ✅ Format code: npm run format
  • ✅ Update documentation if needed
  • ✅ Add tests for new features
  • ✅ Ensure CI passes
  • ✅ Write a clear PR description

Made Manishnm10

Follow on GitHub Star this repo

⬆️ Back to Top

About

A web application for booking bus/rail/airways/metro tickets online.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages