Register
Submit a solution
The challenge is finished.

Challenge Overview

FAA NOTAM: Notice to Airmen Search API Implementation Challenge

Project Background

 

The Federal Aviation Administration (FAA) in collaboration with Topcoder is working to further improve timely access to Notice to Airmen (NOTAM) data by developing required Application Programming Interfaces (APIs) to meet the diverse needs of the aviation industry. 


A Notice to Airmen (NOTAM) is the real-time notification component of the FAA's Aeronautical Information System and contains up-to-date information related to any change in the National Airspace System (NAS).

Who uses NOTAMs?

  • Commercial, General Aviation, and Drone pilots need access to NOTAM data before and during flight. 

  • The FAA issues NOTAMs to support multiple Federal Agencies, Airports, protect critical infrastructure, disaster relief efforts, and space operations. 

 

Challenge Overview

Welcome to the Notice to Airmen Search API Implementation Challenge!  Your task in this challenge is to implement API Endpoints defined in the provided OpenAPI spec

 

Background Information

A NOTAM is a real time, safety critical, information essential to personnel concerned with flight operations but not known far enough in advance to be publicized by other means. It states the abnormal status of a component of the NAS – not the normal status. 

 

The system that we’re building will need to ingest all the data sources and provide an API to query all the data based on various properties, such as location, notam type, location and notam number, effective start and end dates, affected feature types and last updated date.

 

To access the API, users will first need to be registered on a developer portal where they would get an access key for the API. 

 

Implementing the data filtering API is the scope of this challenge. The NOTAM developer portal API is not in scope.

 

All the application components will be hosted on Kubernetes and will need to be dockerized.

 

NOTE: For more details on project background and NOTAM data sources, see the architecture challenge 

 

Technology Stack

 
  • Java / Spring Boot

  • Hibernate

  • PostgreSQL 12

 

Assets

Api definition and database design documents are available in the forums. See the previous, API Design, challenge for background information on the api.

Task Details

Scope of this challenge is setting up the base code and implementing all the api endpoints. 

 

Use SpringBoot v2.4.0 and Java 11 to set up the base application code - follow similar code structure as the data ingestion tool provided in the forums. 

 

Search API will use two separate databases:

  1. Developer portal database - used to verify the api token

  2. Notam database - to actually search for notam records

 

Developer portal database is created by the developer portal api (provided in the forums) and you can add sample data for verification.

Notam database is created by the data ingestion tool (also provided in the forums) - you can run it locally and it will populate notams data into the database.

 

Create a dockerfile for the api, and a docker-compose file to deploy the database and the api locally.

 

Create a Postman collection with sample api calls for all endpoints. Write a Readme file with details for api configuration, build and run instructions.

 

What To Submit

 

Submit the full source code for the search service including a readme with deployment instructions, postman collection, and database setup scripts.



 

Final Submission Guidelines

See above

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30160732