Flight Management System: Angular 9 + Spring Boot + REST APIs
Tags: angular, webdev, typescript, java
Published: 2020-05-20 19:22:08

## Abstract
The Flight Management System is a Java-based booking solution for flight tickets. It consolidates data provided by different airline carriers and hence provides the user details and rates in real-time. Travelers may want to make changes in their bookings. The application allows them to book, cancel, view, and update their bookings with ease. Other than this, it eases the management of bookings too. All the bookings, flights, schedules, and routes can be viewed, added, and modified on a single application by the administrator.  

## Scope
### Inscope:  
Following is the functionality provided by the system:    
There are two categories of people who would access the system: customer and administrator. 
Each of these would have some exclusive privileges.    
#### The customer can: 
- Create his user account.  
- Login into the application.  
- Check for available flights.  
- Make a booking.  
- View the bookings made.  
- Cancel or modify a booking.    

#### The administrator can:  
- Login into the application.  
- Add flight, schedule and route details.  
- View the flight, schedule and route details.  
- Cancel or modify the flight, schedule and route details.   

### Outscope:  
The following functionalities have not been covered under the application:   
- The application does not cover boarding pass generation and seating plans. 
- Third-party applications like email & SMS integrations.  
- Payments are not yet accepted by the application.   

## How I built it
Hey, all of you are curious to know how I build this and working with different technologies while working on this Project. First of all this project was running under my leadership. I started working from backend with Spring Boot (Java-based framework) then go with the implementation of REST APIs and Controllers and finally, I built the frontend using Angular with all required validations and all.

### Technologies Stack: 
#### Backend:
- Java
- Spring Boot
- REST 
- Microservices
- JPA

#### Frontend
- HTML 5
- CSS 3
- Bootstrap 4
- Angular 9

Apart from this, I used Agile methodology while working on this project and look at the Sprint Backlog on a daily basis. You can find the Sprint and Product Backlog on my Github Profile.

### Strategy followed while doing code:
While doing code for the project I tried to make a different branch on git for the different module or you can say that for different components. This made my task easy and I am able to integrate the project effectively and followed the Agile methodology just because while each time I merge the branch into master then the project was in demonstration state to the client. In this way, till the end I used to follow these steps and developing the project.

## Link to Code
I know you all are curious to have a look at my code and will give suggestions for my improvement. So here is my GitHub link for the code.
In the attached github url you can find my code for the above mentioned project based on Angular 9 and Spring Boot.
##### Checkout my Code at GitHub and follow me there for more tech related stuffs: 
{% github https://github.com/sanchit2107/Flight-Management-System %}


### Follow me:
I hope you like this post and it will be useful for you during your development phase. If you like this and find any of the useful thing for your part then Please like and share this post and follow me for more updates related to Open Source Contribution.
##### Thanks
{% user sanchit2107 %}