Skip to content

anified/techchallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tech Challenge

This project was generated with Spring Boot Spring Initializr version 2.7.1

Prerequisites

  • JDK version >= 11
  • Maven

Project Structure

This project currently has three RESTful APIs, declared in the Airport Controller.

  • Get all airports
  • Get Standard Instrument Departure Top 2 Waypoints with the airport ICAO
  • Get Standard Terminal Arrival Route Top 2 Waypoints with the airport ICAO

The data provided to the contoller are retrieved from calling the OPEN ATMS API in the Airport Service. Then, with the data, the controller would call the Airport Service again for the calculation of the top waypoints and return the result as the response.

Configuration

The OPEN ATMS API configuration is declared in the application.properties

  • ATMS_URL
  • ATMS_HEADER_KEY
  • ATMS_HEADER_VALUE

The values are saved in GitHub Repository Secrets and will be replaced by GitHub Actions workflow when it is deploying to Google Kubernetes Engine.

CI/CD Pipeline

The general pipeline workflow is as follows:

  • Build with Maven
  • Login to Docker Hub
  • Build and push container image to docker hub repository
  • Replace the OPEN ATMS API configuration values in k8s deploy.yaml from GitHub Actions Secrets
  • Apply to image and deploy to Google Kubernetes Engine

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published