Skip to content

A mini project to find top waypoints for Sid and Star of each airport

License

Notifications You must be signed in to change notification settings

izzkhairable/SidStar-Project

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


View the Top Waypoints for SID/STAR of An Airport

You can run it locally or visit the live website
View Live Website »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

Built With

Frameworks and Libraries Used

(back to top)

Getting Started Barebone without Container

Running the Backend & Frontend on your Local Computer

Installation

  1. Install dependencies for Frontend
cd ./frontend
npm install
  1. Install dependencies for Backend
cd ../backend
npm install

Running

  1. Create a .env file in root directory
  2. Specify a new env variable
    API_KEY=<PLACE YOUR API KEY>
  3. Starting the Backend
    cd ../backend
    npm run dev
  4. Starting the Frontend
    cd ../frontend
    npm start

Testing

  1. Testing the Frontend
cd ./frontend
npm run test -- --coverage .
  1. Testing the Backend
cd ../backend
npm test
  1. Ensure that both Frontend and Backend has 100% Coverage

(back to top)

Getting Started Docker with Container

Run Development Containers

Development containers are pushed to DockerHub everytime a pull request to main is open

docker run --publish 3333:3333 -e API_KEY=<API_KEY> izzkhair/sid_stat_backend_dev:latest
docker run --publish 3000:3000 izzkhair/sid_stat_fronend_dev:latest

Run Production Containers

Production containers are pushed to DockerHub everytime a commit is push to Main

docker run --publish 3333:3333 -e API_KEY=<API_KEY> izzkhair/sid_stat_backend:latest
docker run --publish 3000:3000 izzkhair/sid_stat_fronend:latest

CI/CD Workflows

On push to Feature Branch

  1. Run test to ensure full coverage
  2. Build project
  3. Run to validate build

On pull request from Feature Branch to Main Branch

  1. Run test to ensure full coverage
  2. Build project
  3. Run to validate build
  4. Build Image
  5. Push Image to Development Containers

On merge to Main Branch

  1. Build Image
  2. Push Image to Production Containers

Usage

Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.

Backend Endpoints

  • GET /airports
    • Params: None
    • Returns:
      • airports: Array
  • GET /airports/sids
    • Params:
      • airport_icao: String
    • Returns:
      • sids: Array
  • GET /airports/stars
    • Params:
      • airport_icao: String
    • Returns:
      • stars: Array'
  • GET /airports/stars/waypoints
    • Params:
      • airport_icao: String
    • Returns:
      • waypoints_list_sorted: Array
  • GET /airports/sids/waypoints
    • Params:
      • airport_icao: String
    • Returns:
      • waypoints_list_sorted: Array

Frontend Serving

  • GET /
    • Params:
      • None
    • Returns:
      • WebPage

(back to top)

Roadmap

  • CI to Test, Check Coverage and Buld
  • CD Build Image and Push to Docker
  • Display Airport
  • Display SIDS and STARS for an Airport
  • Display Sorted Waypoints Count for a SID/STAR of an Airport
  • CD Direct Deploy to Kubernetes Cluster
  • Database for Redunduncy Purposes (In the event, API is down)
  • Add Test Coverage for more paths
  • Add SSL for Backend & Frontend Nodes

See the open issues for a full list of proposed features (and known issues).

(back to top)

License

Distributed under the GPL-3.0 license. See LICENSE.txt for more information.

(back to top)

Contact

Izzat - [email protected]

Project Link: https://github.com/izzkhairable/SidStar-Project

(back to top)

About

A mini project to find top waypoints for Sid and Star of each airport

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published