{"id":13427996,"url":"https://github.com/drnic/airports-chatgpt-plugin","last_synced_at":"2025-08-01T12:03:42.540Z","repository":{"id":152433542,"uuid":"625132832","full_name":"drnic/airports-chatgpt-plugin","owner":"drnic","description":"ChatGPT plugin that returns airport information in Australia, written in Ruby/Sinatra.","archived":false,"fork":false,"pushed_at":"2023-04-08T07:24:05.000Z","size":1806,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-03-28T02:53:31.126Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drnic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-08T06:56:06.000Z","updated_at":"2023-07-05T08:35:52.000Z","dependencies_parsed_at":"2024-01-13T23:18:37.840Z","dependency_job_id":null,"html_url":"https://github.com/drnic/airports-chatgpt-plugin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drnic%2Fairports-chatgpt-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drnic%2Fairports-chatgpt-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drnic%2Fairports-chatgpt-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drnic%2Fairports-chatgpt-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drnic","download_url":"https://codeload.github.com/drnic/airports-chatgpt-plugin/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248892146,"owners_count":21178777,"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":[],"created_at":"2024-07-31T01:00:44.047Z","updated_at":"2025-04-14T13:54:48.264Z","avatar_url":"https://github.com/drnic.png","language":"Ruby","funding_links":[],"categories":["Plugins:"],"sub_categories":[],"readme":"# ChatGPT plugin in Ruby - Airport information\n\nChatGPT plugin that returns airport information in Australia, written in Ruby/Sinatra.\n\nAirport information was downloaded from \u003chttps://ourairports.com/countries/AU/\u003e and is stored in `data/au-airports.csv`.\n\n## Example usage\n\nAsk for a flight plan between some town airports.\n\n![flight-plan](docs/demo-chatgpt-flight-plan.png)\n\n![skyvector](docs/demo-flight-plan-skyvector.png)\n\nIt correctly uses the town's local airport GPS coordinates, not the towns' themselves.\n\n![sthelens](docs/demo-correctly-using-airport-coords.png)\n\nYou can also ask for heading and time to fly, which ChatGPT can help do the calculation.\n\n![duration](docs/demo-distance-heading.png)\n\n## Run locally and test on ChatGPT\n\nTo start up the application and bind to port 9292:\n\n```plain\nbundle\nrerun rackup\n```\n\nYou will need to expose the application to the internet. I use \u003chttps://ngrok.com/\u003e.\n\n```plain\nngrok http --region=au 9292\n```\n\nThe output shows you your domain\n\n```plain\nSession Status                online\nRegion                        Australia (au)\nForwarding                    https://e92baeb18b8a.ngrok.app -\u003e http://localhost:9292\n```\n\nThe domain `e92baeb18b8a.ngrok.app` will be passed to ChatGPT when we register the plugin.\n\n## Register plugin with ChatGPT\n\nOpen \u003chttps://chat.openai.com/chat\u003e, and switch to the ChatGPT \"Plugins\" model.\n\n![setup-model-plugins](docs/setup-model-plugins.png)\n\nNext, under the Plugins dropdown, select \"Plugin Store\".\n\n![setup-open-plugin-store](docs/setup-open-plugin-store.png)\n\nAt the bottom of the modal, click on **\"Develop your own plugin\"**.\n\nClick the green **\"My manifest is ready\"** button.\n\nCopy your ngrok domain `e92baeb18b8a.ngrok.app` into the form, and click the green \"Find manifest file\" button.\n\nChatGPT will validate the two manifest files. Click the green **Next** button.\n\nNext, click **Install for me**, then **Continue**, then **Install plugin**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrnic%2Fairports-chatgpt-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrnic%2Fairports-chatgpt-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrnic%2Fairports-chatgpt-plugin/lists"}