{"id":15068929,"url":"https://github.com/flightaware/aeroapps","last_synced_at":"2025-09-02T19:45:15.509Z","repository":{"id":37792962,"uuid":"454091578","full_name":"flightaware/aeroapps","owner":"flightaware","description":"Getting started with FlightAware AeroAPI ","archived":false,"fork":false,"pushed_at":"2022-08-05T21:18:50.000Z","size":152,"stargazers_count":11,"open_issues_count":2,"forks_count":5,"subscribers_count":20,"default_branch":"main","last_synced_at":"2023-04-18T10:34:08.651Z","etag":null,"topics":["docker","flightaware-aeroapi-service","java11","python3"],"latest_commit_sha":null,"homepage":"https://flightaware.com/commercial/aeroapi/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flightaware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-31T16:54:31.000Z","updated_at":"2023-04-18T10:34:08.651Z","dependencies_parsed_at":"2022-06-23T19:44:56.452Z","dependency_job_id":null,"html_url":"https://github.com/flightaware/aeroapps","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Faeroapps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Faeroapps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Faeroapps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flightaware%2Faeroapps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flightaware","download_url":"https://codeload.github.com/flightaware/aeroapps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248262187,"owners_count":21074258,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","flightaware-aeroapi-service","java11","python3"],"created_at":"2024-09-25T01:39:45.949Z","updated_at":"2025-04-10T17:41:22.027Z","avatar_url":"https://github.com/flightaware.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aero Apps - Getting started with FlightAware AeroAPI\n\nAero Apps is a small collection of backend sample applications to help you get\nstarted using FlightAware's AeroAPI Flight Tracking and Flight Status API.\n\nAero Apps is structured into Docker containers that represent language specific\nimplentations of backend services. These various language example containers\nare managed by Docker Compose with profiles named for each language.\n\nFurthermore, there is also a Docker container for just Python for the Alerts\nFrontend application in particular for alert creation showcasing.\n\n## Quickstart\n\nYou must set the following variable (in your environment or a .env file) before\nyou can start using Aero Apps.\n\n* AEROAPI_KEY - Your FlightAware AeroAPI access key\n\nThe usual Docker Compose incantation run in the root of this repo will get you\nup and running:\n\n```\ndocker-compose --profile python pull \u0026\u0026 docker-compose --profile python up\n```\n\nDifferent profile options are documented in\n[docker-compose.yml](./docker-compose.yml).\n\n`docker-compose pull` pulls prebuilt images from the Github Container Registry,\nand `docker-compose up` creates containers from those images and launches them.\nIf you'd like to build the images yourself, you can instead run\n`docker-compose up --build`.\n\n*For alert creation, the commands will all be the same except add `-f\ndocker-compose-alerts.yml` to utilize the alerts docker compose file. For\nexample, instead of `docker-compose --profile python up`, you should have\n`docker-compose -f docker-compose-alerts.yml --profile python up`*.\n\nAfter running the above command, you should be greeted with log output from\neach container. The services will log periodically as AeroAPI requests are made\n, while the sample webapps will produce some initial log output and then only\nlog as requests are made to them.\n\nYou can test out the FIDS/Alerts sample application by visiting http://localhost:8080 in\nyour web browser (if not running Docker locally, use the Docker host's\naddress).\n\n## Alerts Backend Note:\n\nWhenever an event is triggered for an  alert, AeroAPI will send a POST request to your \nconfigured endpoint. In order to configure your endpoint, you need to publicly expose its\naddress/port (specified using the POST_PORT environment variable, NOT the WEB_SERVER_PORT variable).\nFurthermore, as noted in the docker-compose-alerts.yml file, we encourage the service for\naccepting POSTed triggered alerts to be isolated, and thus will be sent to a different Docker\ncontainer. This means that you will have to set the endpoint URL using /post, instead of /api/post.\nIn order to get send your alerts to this webapp, you should configure this webapp \n(http://localhost:8081/post for example) to receive alerts using a REST client like cURL,\nlike the following command:\n```\ncurl --location --request PUT 'https://aeroapi.flightaware.com/aeroapi/alerts/endpoint' \\\n--header 'Content-Type: application/json; charset=UTF-8' \\\n--header 'x-apikey: \u003cYOUR API KEY\u003e' \\\n--data-raw '{\n  \"url\": \"http://\u003cYOUR IP\u003e:8081/post\"\n}'\n```\n(see the [documentation](https://flightaware.com/aeroapi/portal/documentation#put-/alerts/endpoint)\nfor more information). NOTE: if you previously configured a different production endpoint to receive alerts,\n**you will change the same URL!** This means that ALL of your configured alerts\nwill all be sent to the newly configured endpoint.\n\nYou can see this newly configured URL by going to FlightAware's\n[push notification testing page](https://flightaware.com/commercial/aeroapi/send.rvt)\nor by going to the alert creation page on the webapp. On this push notification testing\npage, you can also do two things: test your configured endpoint on the backend to see if it\nreceives a test triggered alert properly, and also see the success/failure of triggered alerts\nthat were sent up to 24 hours in the past. If there was an error it will display the\nfull error message.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflightaware%2Faeroapps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflightaware%2Faeroapps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflightaware%2Faeroapps/lists"}