Challenge Overview

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 Developer Portal 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 API for the developer portal is the scope of this challenge. The NOTAM data filtering 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 authentication, user, support and api token endpoints. 

 

Use SpringBoot v2.4.0 and Java 11 to set up the base application code. Use a mock smtp server for all email related features. Make the smtp server and reCaptcha details configurable.

 

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 developer portal 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

SHARE:

ID: 30156208