An open API service indexing awesome lists of open source software.

https://github.com/flexycode/ctinfmgl_final_project

πŸ’« CTINFMGL INFORMATION MANAGEMENT COM231
https://github.com/flexycode/ctinfmgl_final_project

dsa-algorithm final-project information-management javascript object-oriented-programming sql

Last synced: 2 months ago
JSON representation

πŸ’« CTINFMGL INFORMATION MANAGEMENT COM231

Awesome Lists containing this project

README

        

# πŸ’« CTINFMGL INFORMATION MANAGEMENT

### Subject & Section: [CTINFMGL - COM231](https://www.youtube.com/watch?v=dQw4w9WgXcQ)Β Β Β Β Β 
### Professor: πŸ‘© [Jensen A. Santillan](https://www.youtube.com/watch?v=_kUFws-dHEI)Β Β Β Β Β Β Β Β Β Β  Β  Β Β Β Β Β Β Β 
### No. of Units: [3 Units](https://www.youtube.com/watch?v=d_Z-neEBuWM)
### Prerequisite: [CCDATRCL - Data Structure and Algorithm](https://github.com/flexycode/CCDATRCL)Β Β Β Β Β 
### Course Repo: [CTINFMGL - INFORMATION MANAGEMENT](https://github.com/flexycode/CTINFMGL)Β 

# πŸ“Š Table of Contents

- [Introduction](#-introduction)
- [Key Features](#-key-features)Β Β Β Β Β Β  Β Β Β Β 
- [Folder Structure](#-folder-structure)Β 
- [Contributing](#-contributing)Β Β Β Β Β Β Β Β Β Β Β 
- [License](#-license)Β Β Β 
- [Acknowledgements](#-acknowledgements)Β 
- [FAQ](#-faq)Β Β Β Β Β Β Β 
- [Changelog](#-changelogs)Β Β Β 

# 🧠 [Introduction](#introduction)

A flight booking web application designed to simplify the process of booking flights with the used of modern JavaScript techstacks

## 🏦 Case Study: Flight Booking App

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.

## ✨ Key Features

πŸš€ 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.

## πŸ’» Techstacks
#### MERN STACK
* **Frontend:** [React.js](https://react.dev/) (JavaScript framework)
* **Backend:** [Node.js](https://nodejs.org/en) with [Express.js](https://expressjs.com/) (Node.js framework)
* **Database:** [MySQL](https://www.mysql.com/) 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](https://vercel.com/) (for Next.js) or [Heroku](https://www.heroku.com/) or [Dokploy](https://dokploy.com/#pricing)

## πŸ•΅οΈ Resources
```
https://dokploy.com/#pricing)
```

# πŸ’» How to Run this Application

## 1οΈβƒ£πŸ‘· Install Dependencies
Run npm install to to install node modules
Also you direct already to frontend folder and run npm start
```
npm install
```

## 2οΈβƒ£πŸš€ Run React-app
Direct to frontend folder after you install the node modules
```
cd frontend
npm start
```

## 3οΈβƒ£πŸš Run Node.js
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
```

## 4️⃣ Connect Database
```
Connect MySQL dbs through Database repository folder
```

# πŸš€ Screenshot of Project Overview

### 🌟 Design Overview

### 🌟 Search Flight

### 🌟 Background Video

## 🧊 Database Schema
#### SQL
```
See Database folder above
```
## 🧊 Data Insertion Example
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', '[email protected]', '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');
```

# 🧊 Data Model
```
Description Coming Soon
```

## 🧊 Flow Chart

## 🧊 Entity Attribute Value Model
```
Entity Attribute Value Model will be uploaded in this section file after πŸ’₯ Myckle Vince fininish the Normalization
```

## 🧊 Normalization

```
Full Overview of Normalization is in the Folder of documentation
```

## 🧊 Entity Relationship Diagram

## 🧊 Sequence Diagram

## 🧊 Cloud Architecture

# πŸ“ Repository Structure
```
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
```

# πŸ† ContributingΒ Β Β Β 

### ContributingΒ Β Β Β Β 
If you would like to contribute to the Flight Booking App, please follow these steps:
1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Push your changes to your forked repository.
5. Submit a pull request to the main repository.

### 🧠 Submitting Changes

🧠 Contributions are welcome! If you have ideas for improvements or want to add more exercises, follow these steps:

1. Fork the repository.
2. Create a new branch.
3. Make your changes and commit them.
4. Push to your fork and submit a pull request. πŸ’•πŸ’•πŸ’•πŸ’•

### πŸ‘‹ Contributors
### Special thanks to all my groupmates:
* #### 😎 [Jay Arre Talosig](https://github.com/flexycode) - Machine Learning Engineer | Blockchain Developer | Bioinformatics Scientist    
* #### 🧭 [Custer Valencerina](https://github.com/Cegeurun) - Machine Learning Engineer | Full Stack Engineer | Front-End Developer
* #### πŸ’₯ [Myckle Vince Natividad](https://github.com/Kyelkyel) - Cybersecurity Forensic Engineer | Cloud Security ArchitectΒ | Cyber Defense Forensic Analyst |Β Cybersecurity Scrum Master
* #### 🎲 [Angelo Castillo](https://github.com/gabcsx) - Network Security Engineer | Machine Learning Engineer | Security Forensic Analyst
* #### πŸ€– [Neo Flores](https://github.com/moridin04) - Machine Learning Engineer | Network EngineerΒ | DevOps Engineer
* #### 🌟 [Yeshua Venezuela](https://github.com/Yesh01) - Cyber Intelligence Specialist | Software Engineer | UI / UX Designer | Digital Forensic Analyst

# πŸ›Έ FAQ

### πŸ›Έ Reporting Issues

```bash
Some changes need to be address
- Fix Bug in the Frontend
- Fix Bug in the Backend
- CRUD operation management in SQL Workbench
```

###### πŸ€– If you encounter any issues or have suggestions, please open an issue to let us know.

# πŸ”‘ LicenseΒ Β Β Β Β 

```
Coming Soon In the License tab
```
## National University of Manila LicenseΒ Β Β 

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.

### UsageΒ 

- 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.

### Restrictions

- 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.

## Disclaimer

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.

# πŸ”­ AcknowledgementsΒ Β Β Β Β 

### ✨ Professor
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.

### ✨ CCIT Dean

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.

# πŸ“« Changelogs
Chronological list of updates, bug fixes, new features, and other modifications for our Flight Booking Appplication.

## πŸ’» [01.1.5] - 2024-01-29Β Β Β Β Β Β 
### Role & Project Management
- πŸ’» Final Project requirements for our project
- ✨ Create a repository for this Flight Booking App
- ✨ Brainstorming for our Project requirements
- ✨ [Jay Arre Talosig](https://github.com/flexycode) πŸ’» πŸš€ will be in-charge for Frontend Development & Technology stacks
- ✨ [Jay Arre Talosig](https://github.com/flexycode) 🧠 πŸ”‘ will be in-charge for Backend Development & Entity Relationship Diagram
- ✨ [Custer Valencerina](https://github.com/Cegeurun) 🧭 🧭 will be in-charge for SQL and debugging for backend, API and documentation
- ✨ [Myckle Vince Natividad](https://github.com/Kyelkyel) πŸ’₯ πŸ’₯ will be also in-charge for SQL, Backend, documentation and Normalization
- ✨ [Angelo Castillo](https://github.com/gabcsx) 🎲🎲 will be in-charge for creating Entity Attributes View (EAV)
- ✨ [Neo Flores](https://github.com/moridin04) πŸ€–πŸ€– will be in-charge for creating the overall documentation of the Project
- ✨ [Yeshua Venezuela](https://github.com/Yesh01) 🌟🌟 will be in-charge for suggesting a good design in the Frontend User Interface

## πŸ’» [01.1.1] - 2024-01-29
### Activity
- ✨ Brainstorming on what database should we use

## πŸ’» [01.1.1] - 2024-01-31
### Added
- ✨ [Custer Valencerina](https://github.com/Cegeurun) Uploaded a schematic ERD Diagram from scratch and based on Draw.io

## πŸ’» [10.1.1] - 2025-02-01
### Activity
- ✨ [Angelo Castillo](https://github.com/gabcsx), [Myckle Vince Natividad](https://github.com/Kyelkyel), [Neo Flores](https://github.com/moridin04) revise the EAV model
- ✨ Uploaded the EAV model

## πŸ’» [01.1.1] - 2025-02-10
### Fix
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Fixed Node modules for Flight Booking Client source codebase

## πŸ’» [01.1.2] - 2025-02-12
### Fix
- ✨ [Angelo Castillo](https://github.com/gabcsx) Fixed the EAV
- ✨ [Myckle Vince Natividad](https://github.com/Kyelkyel) Revise the Normalization table
### Changes
- ✨ Revise the Entity Attributes View model

## πŸ’» [01.1.2] - 2025-02-12
### Suggestion
- ✨ [Yeshua Venezuela](https://github.com/Yesh01) created a proof-of-concept design for our Front-end UI design.

## πŸ’» [01.1.2] - 2025-02-16
### Added
- ✨ [Jay Arre Talosig](https://github.com/flexycode) successfully added the FrontEnd (Client) for our Flight Booking
### Changes
- ✨ [Myckle Vince Natividad](https://github.com/Kyelkyel) , [Custer Valencerina](https://github.com/Cegeurun) Fixed the attributes for EAV and Normalization
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Revise the Backend and database

## πŸ’» [01.1.2] - 2025-02-21
### Added
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Revise the Entity Relationship Diagram

## πŸ’» [01.1.2] - 2025-02-23
### Added
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Uploaded ERD
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Uploaded the Screenshot for Flight Booking
- ✨ Push the Front-end folder
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Update Changelogs for Flight Booking
- ✨ [Custer Valencerina](https://github.com/Cegeurun) added a constructive comment for a specific function in the frontend (client-side)
- ✨ [Myckle Vince Natividad](https://github.com/Kyelkyel) added a constructive comment for a specific function in the backend (server-side)
- ✨ [Neo Flores](https://github.com/moridin04) successfully created the Entity Attributes View
- ✨ [Angelo Castillo](https://github.com/gabcsx) created the first draft of the overall documentation

## πŸ’» [01.1.2] - 2025-02-24
### Added
- ✨ [Myckle Vince Natividad](https://github.com/Kyelkyel) successfully created the Normalization
- ✨ [Jay Arre Talosig](https://github.com/flexycode) Uploaded Normalization in the documenation folder

## πŸ’» [01.1.2] - 2025-03-05
### Added
- ✨ Thesis Project Deliveration for [CTINFMGL - INFORMATION MANAGEMENT](https://github.com/flexycode/CTINFMGL) 

## πŸ’» [01.1.2] - 2025-03-07
### Integration
- ✨ [Custer Valencerina](https://github.com/Cegeurun) successfully created a codebase for a integration in [Brevo API for Email using node.js](https://github.com/Cegeurun/nodejsbrevo)
- ✨ [Jay Arre Talosig](https://github.com/flexycode) revise the folder tree structure

### Commit message for pushing or pull-request
🧊 Flight Booking Application

#### [Back to Table of Content](#-introduction)

---


mystreak




mystreak

Β Β Β Β