The Flight E-Booking Application, SkyDeals, is a comprehensive platform designed to streamline the flight booking process.
-
Objective
Implement a streamlined application to book airline flights.
-
User Roles
Catering to individuals that are interested in learning about full-stack development.
-
Key Goals
- Secure Data Management: Passenger accounts store sensitive information securely, including payment details.
- Efficient Booking System: Allows customers to browse flights, make reservations, and receive instant updates.
- Scalable Database Design: Robust database schema with structured data for flights, payments, reservations, and more.
-
Database Structure
- Airplane: airplaneId (PK), airline, planeModel, capacity
- Airport: airportCode (PK), city, country
- Flight: flightId (PK), departureTime, duration, flightStatus, airplaneId (FK), startAirportCode (FK), endAirportCode (FK)
- Passenger: passengerId (PK), phoneNumber, email, password, name
- Ticket: ticketId (PK), seatNumber, unitPrice, flightId (FK), reservationId (FK), firstName, lastName
- Reservation: reservationId (PK), totalPrice, cardCode, cardNumber, cardType, expirationDate, zipCode, passengerId (FK), flightId (FK)
Before you begin, ensure you have met the following requirements:
- Latest version of Java (Java 23)
- Java Oracle SDK 23.0.1
- MySQL Ver 5.7.24
- Node.js (for React)
- IDE of choice (IntelliJ)
For testing purposes:
- Database: MySQL Workbench
- API Endpoints: Postman (port 8080)
- Frontend: React
- Backend: Java, Spring Boot
- Database: MySQL
- You can download the Zip file and extract it
- Open the project in you preferred IDE with the root folder named
Arun_TermProject - Navigate to
src/main/resources/application.properties - Modify the following based on your the setup of MySQL:
spring.datasource.username= <your_username>spring.datasource.password= <your_password>jwt.secret.key= <your_password>
- Run the backend by clicking on the run icon in IDE
- Check the build terminal, to see if the Spring Boot project is running (API endpoints on localhost:8080, MySQL on port 3306)
- Open Terminal on IDE and enter the following:
- Enter
pwdto verify that your path is currently/Arun_TermProject - Enter
cd frontend/- navigates to the React frontend - Enter
npm install- installs all the necessary dependencies - Check terminal to see all dependencies are installed
- Then enter
npm start- start the localhost:3030 server
- Enter
- Once both the frontend and backend are running, the project is up and running successfully.
- Sanjana Arun
- Mukta Deshmukh
- Tristan Dominy
- Madhu Sudhan Reddy Chencharapu
- Fidel Arroyo
This project is a collaborative effor involving a team of 5 members, including the manager.
Please refer to the file Manger_Report.pdf. for details on each member's contributions.
Please refer to the documentation file named Documentation.pdf.
Please refer to the Schema Analysis portion in Documentation.pdf.