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

  •  
  •