Subject & Section: CTINFMGL - COM231Β Β Β Β Β
Professor: π© Jensen A. SantillanΒ Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β Β
No. of Units: 3 Units
Prerequisite: CCDATRCL - Data Structure and AlgorithmΒ Β Β Β Β
Course Repo: CTINFMGL - INFORMATION MANAGEMENTΒ
- Introduction
- Key FeaturesΒ Β Β Β Β Β Β Β Β Β
- Folder StructureΒ
- ContributingΒ Β Β Β Β Β Β Β Β Β Β
- LicenseΒ Β Β
- AcknowledgementsΒ
- FAQΒ Β Β Β Β Β Β
- ChangelogΒ Β Β
π§ Introduction
A flight booking web application designed to simplify the process of booking flights with the used of modern JavaScript techstacks
Overview The Flight Booking App is a web application designed to simplify the process of booking flights for users. The app allows users to search for flights, book tickets, manage their itineraries, and make payments seamlessly. The app also includes an admin panel for managing flights, users, and payments. The goal is to provide a user-friendly, efficient, and secure platform for flight bookings.
π 1. User Authentication: Users can create accounts, log in, and manage their profiles.
π 2. Flight Search: Users can search for flights based on destination, departure time, and other criteria.
π 3. Booking Management: Users can book flights, view their bookings, and cancel or modify them.
π 4. Payment Integration: Secure payment gateway integration for processing payments.
π 5. Admin Panel: Admins can manage flights, users, and payments.
- Frontend: React.js (JavaScript framework)
- Backend: Node.js with Express.js (Node.js framework)
- Database: MySQL for flexible use of SQL
- Authentication: JWT (JSON Web Tokens)
- Payment Gateway: Stripe or PayPal ( Not required!) we use local host authmanagement
- Email: Brevo API
- State Management: Redux or Context API
- Styling: CSS-in-JS (Styled-components) or Tailwind CSS
- Deployment: Vercel (for Next.js) or Heroku or Dokploy
https://dokploy.com/#pricing)
Run npm install to to install node modules Also you direct already to frontend folder and run npm start
npm install
Direct to frontend folder after you install the node modules
cd frontend
npm start
Open another terminal in the current codebase to run nodejs for VS Code or other IDE base on what you are using such as Webstorm
cd backend
node index.js
Connect MySQL dbs through Database repository folder
See Database folder above
sql
INSERT INTO `flights` (departure_city, arrival_city, flight_date, duration_hours, base_price, flight_status) VALUES
('New York', 'London', '2024-11-10', 7, 500.00, 'Full'),
('Los Angeles', 'Paris', '2024-11-11', 10, 900.00, 'Available');
INSERT INTO `users` (username, password_hash, role, email, phone_number) VALUES
('akosidogi', '$2b$10$yFTXogxecYrNSRLvFMb.dej4A4snSkHF72ZLItUjwrDFT16tlHCvK', 'admin', 'admin@example.com', '1234567890');
INSERT INTO `carts` (flight_id, user_id) VALUES
(1, 1);
INSERT INTO `seats` (flight_id, seat_number, class, status, seat_price) VALUES
(1, '1A', 'Economy', 'Available', 100.00),
(1, '1B', 'Economy', 'Booked', 100.00);
INSERT INTO `flight_names` (flight_id, region, name) VALUES
(1, 'Europe', 'Transatlantic Express');
Description Coming Soon
Entity Attribute Value Model will be uploaded in this section file after π₯ Myckle Vince fininish the Normalization
Full Overview of Normalization is in the Folder of documentation
CTINFMGL_FINAL_PROJECT/
β
βββ LICENSE
βββ README.md
βββ assets
β βββ Cloud Architecture.png
β βββ ERD Airline Reservation.jpg
β βββ Entity Relationship Diagram - ALA.png
β βββ Entity Relationship Diagram.png
β βββ Flight Booking ERD DRAFT V2.png
β βββ Flight Booking ERD Scratch .jpg
β βββ Flow Chart.png
β βββ Front Page.png
β βββ Prof Jensen Project Consultation.jpg
β βββ Search Flight 2.png
β βββ Search Flight.png
β βββ Sequence Diagram.png
β βββ Table of Content.jpg
β βββ Video Page.png
βββ backend
β βββ auth
β β βββ adminAuth.js
β β βββ userAuth.js
β βββ config
β β βββ emailConfig.js
β β βββ mutlerConfig.js
β βββ controller
β β βββ cartController.js
β β βββ chatbotController.js
β β βββ emailController.js
β β βββ flightController.js
β β βββ seatController.js
β β βββ userController.js
β βββ database
β β βββ Mysql.js
β βββ index.js
β βββ package-lock.json
β βββ package.json
β βββ routes
β β βββ cart.js
β β βββ chatbot.js
β β βββ email.js
β β βββ flights.js
β β βββ seat.js
β β βββ user.js
β βββ services
β β βββ cartService.js
β β βββ chatbotService.js
β β βββ emailService.js
β β βββ flightService.js
β β βββ seatService.js
β β βββ userService.js
β βββ views
β βββ index.ejs
βββ database
β βββ carts_table.sql
β βββ flight_names.sql
β βββ flights_table.sql
β βββ seats_table.sql
β βββ users_table.sql
βββ documentation
β βββ Normalization.pdf
β βββ images
β βββ Normalization SS-1.png
β βββ Normalization SS-2.png
β βββ Normalization SS-3.png
βββ frontend
βββ package-lock.json
βββ package.json
βββ public
β βββ _redirects
β βββ favicon.ico
β βββ index.html
β βββ manifest.json
β βββ robots.txt
βββ src
βββ App.css
βββ App.js
βββ App.test.js
βββ apicalls
β βββ emailAPICALL.js
β βββ seatAPICALL.js
βββ components
β βββ Admin-Add
β β βββ Admin_Add.css
β β βββ Admin_Add.jsx
β βββ Admin_Nav
β β βββ Admin_Nav.css
β β βββ Admin_Nav.jsx
β βββ Card
β β βββ Card.css
β β βββ Card.jsx
β βββ ChatBot
β β βββ Chatbot.css
β β βββ Chatbot.jsx
β βββ Checkout
β β βββ Checkout.css
β β βββ Checkout.jsx
β βββ FlightMap
β β βββ Flightmap.css
β β βββ Flightmap.jsx
β βββ Footer
β β βββ Footer.css
β β βββ Footer.jsx
β βββ ForgotPassword
β β βββ ForgotPassword.jsx
β βββ Nav
β β βββ Nav.css
β β βββ Nav.jsx
β βββ Search
β β βββ Search.css
β β βββ Search.jsx
β βββ Timeout
β β βββ Session_Timeout.jsx
β βββ Video
β β βββ Video.css
β β βββ Video.jsx
β βββ Welcome
β β βββ Welcome.css
β β βββ Welcome.jsx
β βββ myFlights
β βββ MyFlight.css
β βββ MyFlights.jsx
βββ images
β βββ berlin.png
β βββ eye.svg
β βββ github.svg
β βββ gmail.svg
β βββ hawaiiWelcome.jpg
β βββ linkedin.svg
β βββ live-chat.svg
β βββ my-location.svg
β βββ newyork.png
β βββ paris.png
β βββ password.svg
β βββ philippineTrip - Trim.mp4
β βββ philippineTrip.mp4
β βββ philippinesWelcome.jpg
β βββ x-symbol.svg
βββ index.css
βββ index.js
βββ logo.svg
βββ pages
β βββ Admin
β β βββ Admin.css
β β βββ Admin.jsx
β βββ Cart
β β βββ Cart.css
β β βββ Cart.jsx
β βββ Main
β β βββ Main.css
β β βββ Main.jsx
β βββ Profile
β β βββ Profile.css
β β βββ Profile.jsx
β βββ Register
β β βββ Register.css
β β βββ Register.jsx
β βββ SignIn
β βββ SignIn.css
β βββ SignIn.jsx
βββ password.svg
βββ reportWebVitals.js
βββ setupTests.js
βββ utilities
βββ ScrollTop.js
βββ scroll.js
If you would like to contribute to the Flight Booking App, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your changes to your forked repository.
- Submit a pull request to the main repository.
π§ Contributions are welcome! If you have ideas for improvements or want to add more exercises, follow these steps:
- Fork the repository.
- Create a new branch.
- Make your changes and commit them.
- Push to your fork and submit a pull request. ππππ
-
π Jay Arre TalosigΒ - Machine Learning Engineer | Blockchain Developer | Bioinformatics Scientist Β Β Β
-
π§ Custer Valencerina - Machine Learning EngineerΒ | Full Stack EngineerΒ | Front-End Developer
-
π₯ Myckle Vince Natividad - Cybersecurity Forensic Engineer | Cloud Security ArchitectΒ | Cyber Defense Forensic Analyst |Β Cybersecurity Scrum Master
-
π² Angelo Castillo - Network Security EngineerΒ | Machine Learning EngineerΒ | Security Forensic Analyst
-
π€ Neo Flores - Machine Learning Engineer | Network EngineerΒ | DevOps Engineer
-
π Yeshua Venezuela - Cyber Intelligence SpecialistΒ | Software EngineerΒ | UI / UX Designer | Digital Forensic Analyst
Some changes need to be address
- Fix Bug in the Frontend
- Fix Bug in the Backend
- CRUD operation management in SQL WorkbenchComing Soon In the License tab
The National University of Manila License grants permission to students of the National University of Manila to use, modify, and distribute this project for educational purposes within the scope of their coursework and assignments.
- You may use this project as a reference or learning material for your studies at the National University of Manila.
- You may modify the project to suit your educational needs and requirements.
- You may share the project with your fellow students or instructors for educational purposes.
- You may not use this project for commercial purposes.
- You may not redistribute or publish this project outside the National University of Manila without explicit permission.
This project is provided "as is" without warranty of any kind, express or implied. The National University of Manila and the project contributors disclaim any liability or responsibility for any direct, indirect, incidental, special, exemplary, or consequential damages arising out of the use or misuse of this project.
Professor Mrs. Jensen Santillan is a highly respected academic and industry practitioner. Her expertise spans a wide range of areas, including Data Analytics, Data Science, Data Analysis, Data Structures, and Information Management. As a distinguished faculty member at the College of Computing and Information Technology at National University, she shares her knowledge and skills with students.
Your dedication to advancing knowledge in this field and your commitment to educating future professionals have been invaluable. Thank you for your guidance, support, and the wealth of information you have shared. Your efforts have greatly enriched this final project and will undoubtedly have a lasting impact on all who engage with this repository.
Chronological list of updates, bug fixes, new features, and other modifications for our Flight Booking Appplication.
- π» Final Project requirements for our project
- β¨ Create a repository for this Flight Booking App
- β¨ Brainstorming for our Project requirements
- β¨ Jay Arre Talosig π» π will be in-charge for Frontend Development & Technology stacks
- β¨ Jay Arre Talosig π§ π will be in-charge for Backend Development & Entity Relationship Diagram
- β¨ Custer Valencerina π§ π§ will be in-charge for SQL and debugging for backend, API and documentation
- β¨ Myckle Vince Natividad π₯ π₯ will be also in-charge for SQL, Backend, documentation and Normalization
- β¨ Angelo Castillo π²π² will be in-charge for creating Entity Attributes View (EAV)
- β¨ Neo Flores π€π€ will be in-charge for creating the overall documentation of the Project
- β¨ Yeshua Venezuela ππ will be in-charge for suggesting a good design in the Frontend User Interface
- β¨ Brainstorming on what database should we use
- β¨ Custer Valencerina Uploaded a schematic ERD Diagram from scratch and based on Draw.io
- β¨ Angelo Castillo, Myckle Vince Natividad, Neo Flores revise the EAV model
- β¨ Uploaded the EAV model
- β¨ Jay Arre Talosig Fixed Node modules for Flight Booking Client source codebase
- β¨ Angelo Castillo Fixed the EAV
- β¨ Myckle Vince Natividad Revise the Normalization table
- β¨ Revise the Entity Attributes View model
- β¨ Yeshua Venezuela created a proof-of-concept design for our Front-end UI design.
- β¨ Jay Arre Talosig successfully added the FrontEnd (Client) for our Flight Booking
- β¨ Myckle Vince Natividad , Custer Valencerina Fixed the attributes for EAV and Normalization
- β¨ Jay Arre Talosig Revise the Backend and database
- β¨ Jay Arre Talosig Revise the Entity Relationship Diagram
- β¨ Jay Arre Talosig Uploaded ERD
- β¨ Jay Arre Talosig Uploaded the Screenshot for Flight Booking
- β¨ Push the Front-end folder
- β¨ Jay Arre Talosig Update Changelogs for Flight Booking
- β¨ Custer Valencerina added a constructive comment for a specific function in the frontend (client-side)
- β¨ Myckle Vince Natividad added a constructive comment for a specific function in the backend (server-side)
- β¨ Neo Flores successfully created the Entity Attributes View
- β¨ Angelo Castillo created the first draft of the overall documentation
- β¨ Myckle Vince Natividad successfully created the Normalization
- β¨ Jay Arre Talosig Uploaded Normalization in the documenation folder
- β¨ Thesis Project Deliveration for CTINFMGL - INFORMATION MANAGEMENTΒ
- β¨ Custer Valencerina successfully created a codebase for a integration in Brevo API for Email using node.js
- β¨ Jay Arre Talosig revise the folder tree structure
π§ Flight Booking Application
Β Β Β Β












