Skip to content

Angular SPA similar to Aviasales, a team project at Rolling Scopes School. I was the team lead

Notifications You must be signed in to change notification settings

mlatysheva/aviator

Repository files navigation

Aviator

This is an Angular app to book flights. It was developed by our team of three students as part of the Rolling Scopes School course on Angular:

Description

Aviator is an SPA to book flights

Main screen

  • Flight Search (Main) Page: The app provides a simple and intuitive functionality to search for flights. This includes options to select the origin and destination, type of flight (one-way or round-trip), and the number and age of passengers.

Flight search feature

User registration and login

  • User Registration: The app has a user registration and login features. A user has to be authenticated to book a flight. The app stores the user profile, currently booked trips and completed orders for the given user.

Signup feature

Login feature

Flight selection

  • Flight Selection Page: Once the user has entered their search criteria, the app displays all available flights along with the dates, prices, and the available number of seats.

Flight selection feature

Fligtht editing

  • Editing option: The user can edit the previously selected options:

Flight editing feature

Flight editing feature

Booking passengers

  • Booking Process Page: After selecting a flight, the user is taken to another page where s/he can provide passenger data and contact information to complete the booking. Once a user has provided booking details, s/he will see the summary with all the flight information provided.

Booking passengers feature

Booking summary

  • Booking Summary Page: This page shows all the data provided before the checkout. The user can make the payment now, or add the booking to the shopping cart to be paid for later.

Booking summary feature

Shopping cart

  • Shopping Cart Page: This page shows all previously added bookings that are awaiting payment.

Shopping cart feature

Completed orders

  • User Account Page: This page shows all bookings paid by the user and provides the possiblity to view the booking summary.

User account feature

Installing and Running the app

  • the backend is built with JSON-server and is located in the folder backend. Our repository aviator is built as a mono-repository with two packages - one for the frontend and the other - for the backend.
  • clone or download the develop branch of the app
  • cd into the folder where you downloaded the app
  • run npm run install:all - to install the dependencies for both the frontend and backend
  • run npm run start:all - to start the server and the app at the same time. The app will be running on https://localhost:4200 and the server will be running on https://localhost:3000

Alternatively, you can start only the server by:

Stack used

  • The repository aviator is built as a mono-repository with two packages - one for the frontend and the other - for the backend.
  • Angular, version 15
  • NgRx
  • RxJs
  • Ag-Grid
  • city-timezones, countries-and-timezones, currency-symbol-map libraries
  • JSON-server for the backend part
  • The app is deployed at github.io: https://mlatysheva.github.io/aviator/
  • The backend API is deployed at Heroku: https://aviator-backend.herokuapp.com

About

Angular SPA similar to Aviasales, a team project at Rolling Scopes School. I was the team lead

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •