skybook-airline-reservation
A student-built airline reservation web app where passengers search and book flights and administrators manage routes and pricing, built with React, Node.js, and MongoDB as a full-stack learning project.
SkyBook is a web application for booking airline tickets and managing flight reservations. It is built as a student or educational project using a standard web development stack: React on the front end, Node.js and Express on the back end, and MongoDB as the database.
The system is designed for two types of users. Passengers can create accounts, search for flights, view schedules and prices, book tickets, make payments, download their tickets, cancel reservations, and view their booking history. Administrators get a separate dashboard where they can create and manage flights, update schedules and destinations, set prices, monitor all reservations across the system, and generate reports.
Authentication is handled with JSON Web Tokens and password hashing, with role-based access so passengers and administrators see different parts of the application. The payment module covers online payment handling, verification, and sending electronic receipts. Reporting covers reservation summaries, revenue figures, and passenger statistics broken down by day or month.
The project is structured with separate frontend and backend directories. The front end uses Vite as its build tool and Tailwind CSS for styling. The back end runs on Express with Mongoose handling database interactions. Both sides need their own environment variable files configured before starting.
The README notes the project is still in active development. Planned future additions include QR code tickets, real-time seat availability, and a mobile application. The codebase is organized with separate development branches for front-end and back-end work, with pull requests required before merging anything to the main branch. The project is described as educational in purpose.
Where it fits
- Use as a reference for building a full-stack MERN application with JWT authentication and role-based access control
- Study how to structure a React and Vite front end alongside an Express and MongoDB backend in a split-directory project
- Fork and extend with features like QR code tickets or real-time seat availability as a learning exercise