This project consists of an application that searches for available flights based on "leaving from", "going to" and "departure date", displays available seats and allows the user to purchase a ticket, which will then be send to his/her email.
Matthew Birnhak and Benny Simoes
We will have a module (microservice) for the following areas:
-
Front-end
- Deals with user interaction
-
Aggregator
- Connects to all other components of appciation and recieves user requests from the UI
-
Available planes
- Connects to Tequila Flights API
- Returns info on available flights based on the date, departure airport, and destination airport
-
Available seats
- Gets info on available seats within the flight chosen
- Stores info in a database
-
User service
- Deals with user information
- Stores info in database
-
Transaction
- Stores the users previous flight purchases in a database
- Allows the user to view this info
- Allows the user to purchase new flights
-
Payment
- Simulates dealing with the users credit card information
-
Notifications
- Sends the user confirmation of payment and their plane ticket via email
- Java
- Mongo
- HTML
- CSS
- Javascript
- Python
- Shell Script
- SpringBoot
- Flask
git clone https://github.com/mbirnhak/Kata-Project.git
cd Kata-Project && cd kubernetes && chmod +x build-app.sh && bash build-app.sh build DOCKER_HUB_USERNAME
chmod +x apply-yaml.sh && bash apply-yaml.sh DOCKER_HUB_USERNAME
Go to http://localhost:30101/
- Once downloaded locally and built (see section above "To Build the App") complete the following
- Create a cluster on GKE
- Upload the kubernetes folder to your cluster
- Run the following command:
cd kubernetes && chmod +x apply-yaml.sh && bash apply-yaml.sh DOCKER_HUB_USERNAME - Open a hole in the firewall:
gcloud compute firewall-rules create flight-app-node-port --allow tcp:30101 - Get an External-IP of one of the nodes in your cluster:
kubectl get nodes -o wide - Finally, access the UI at http://{External-IP}:30101/