Skip to content

Eng1Mahmoud/Bus-Booking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bus Booking System

Bus Booking System is a web application developed using the MERN stack (MongoDB, Express, React, Node.js) that allows users to book bus tickets. The system includes features for searching buses, viewing schedules, and making bookings.

πŸš€ Live Demo

Explore the live demo here: Bus Booking App

✨ Features

  • Search Available Buses: Find buses based on destination, date, and time.
  • Bus Schedule: View available routes, departure and arrival times.
  • User Authentication: Login and registration features to manage bookings.
  • Ticket Booking: Securely book tickets for your desired trip.
  • Responsive UI: Built with Material UI and styled-components for a modern, mobile-friendly interface.
  • Localization Support: Available in multiple languages using i18next.
  • Admin Panel: Manage bus schedules, routes, and user bookings.

πŸ› οΈ Technologies Used

Frontend:

  • React (18.2.0): React for building dynamic, single-page applications.
  • Redux (8.0.5): State management for handling global application state.
  • MUI (5.11.8): Material UI for a responsive and clean design.
  • React Router (6.8.1): Handles navigation between different views.
  • Formik & Formik-MUI: Simplified form management and validation.
  • Swiper (9.0.4): Used for carousel functionality, displaying bus schedules.
  • Framer Motion: Smooth animations for UI transitions.

Backend:

  • Node.js & Express (4.18.2): Backend server to handle routing and API requests.
  • MongoDB (Mongoose): NoSQL database for storing user information, bookings, and bus schedules.
  • JWT (JSON Web Tokens): Authentication and authorization of users.
  • Bcrypt: Used for hashing passwords for secure user authentication.
  • Nodemailer: For sending confirmation emails upon successful bookings.
  • Cors: Cross-Origin Resource Sharing middleware for secure API communication.

βš™οΈ Installation

To set up the project locally, follow these steps:

Prerequisites

Make sure you have the following installed:

  • Node.js (version 14 or higher)
  • npm (Node package manager)
  • MongoDB (for database)

Step 1: Clone the Repository

Clone the repository to your local machine:

git clone https://github.com/Eng1Mahmoud/Bus-Booking.git
cd Bus-Booking

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“œ Commit Guidelines

We follow conventional commits specification:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code style changes
  • refactor: Code refactoring
  • test: Test updates
  • chore: Build process or auxiliary tool changes

πŸ› Bug Reports

If you discover any bugs, please create an issue here including:

  1. Bug description
  2. Steps to reproduce
  3. Expected behavior
  4. Actual behavior
  5. Screenshots (if applicable)

πŸ‘¨β€πŸ’» Author

Mahmoud Mohamed

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •