{"id":16490321,"url":"https://github.com/jschr/trail-status-app","last_synced_at":"2025-03-23T12:34:38.418Z","repository":{"id":38656705,"uuid":"238709306","full_name":"jschr/trail-status-app","owner":"jschr","description":"Update your region's trail status with Instagram","archived":false,"fork":false,"pushed_at":"2025-01-29T18:31:02.000Z","size":2443,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-18T20:40:34.834Z","etag":null,"topics":["api-gateway","aws-cdk","aws-lambda","material-ui","netlify","react","serverless","typescript"],"latest_commit_sha":null,"homepage":"https://www.trailstatusapp.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jschr.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-06T14:37:58.000Z","updated_at":"2024-12-22T00:05:18.000Z","dependencies_parsed_at":"2024-10-28T16:11:19.590Z","dependency_job_id":"2a0b633a-8674-4bd5-92ec-ffce2ef76d6b","html_url":"https://github.com/jschr/trail-status-app","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/jschr%2Ftrail-status-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschr%2Ftrail-status-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschr%2Ftrail-status-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jschr%2Ftrail-status-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jschr","download_url":"https://codeload.github.com/jschr/trail-status-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245104460,"owners_count":20561377,"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":["api-gateway","aws-cdk","aws-lambda","material-ui","netlify","react","serverless","typescript"],"created_at":"2024-10-11T13:47:23.701Z","updated_at":"2025-03-23T12:34:37.596Z","avatar_url":"https://github.com/jschr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trail Status App\n\nhttps://trailstatusapp.com\n\n## How does it work?\n\nThe trail status app periodically checks your Instagram account for specific hashtags to open or close the region. You can also create trails within the region that allow you to keep certain trails closed when opening the region.\n\n### Example Instagram posts\n\n**Closing the region**\n\n_Trails closed, please wait until the next update! #trailsclosed_\n\n**Opening the region**\n\n_Trails open, enjoy the nice weather! #trailsopen_\n\n**Opening the region, keeping a specific trail closed**\n\n_Trails open but stay off Glasgow side! #trailsopen #glasgowclosed_\n\nYou can configure the trails and hashtags for your region after logging in at https://trailstatusapp.com. Note that the app is not yet approved by Facebook so you will need to be invited as a tester. Open an issue if you want an invite.\n\n## API\n\nThe trail status app has a public API for retrieving the current region and trail status. You can find your region id and trail ids in the URL of trailstatusapp.com, click on the trail to find it’s id.\n\nAPI Base URL: https://api.trailstatusapp.com\n\n### Fetching the region status\n\nGET /regions/status?id=REGION_ID\n\n### Fetching the status of a specific trail\n\nGET /trails/status?id=TRAIL_ID\n\n## Webhooks\n\nYou can create webhooks to notify other services when the status of the region or a specific trail changes. You can configure your webhook to be triggered via GET or POST. Webhooks using POST will also receive the status as JSON in the request body.\n\nWebhook URLs support variables to receive the current status. Variables are denoted by curly braces in the URL.\n\n**Example Webhook URL**\n\nhttps://my-webhook.com/status={status}\u0026message={message}\n\n### Variables\n\n| Variable    | Description                                                                                               |\n| ----------- | --------------------------------------------------------------------------------------------------------- |\n| {status}    | The status of the region or the specified trail.                                                          |\n| {updatedAt} | When the status of the region or trail was updated.                                                       |\n| {message}   | The caption of the Instagram post used to open or close the region. Only available for regional webhooks. |\n| {imageUrl}  | The image of the Instagram post used to open or close the region. Only available for regional webhooks.   |\n\n## Development\n\nThe Instagram API does not allow callbacks over http, to create your own localhost certs:\n\n```bash\nbrew install mkcert\nbrew install nss\n\nmkcert -install\nmkcert localhost\n\n```\n\nCreate `.env`, `env.dev` and `env.production` at the root of this project with the contents of the provided `.sample` files in this repo. Modify the env vars if you're own.\n\nRun the app in development:\n\n```bash\nyarn dev\n```\n\n## Deployment\n\nDeploy the backend:\n\n```bash\nyarn infrastructure deploy\n```\n\nConnect Netlify to your repository to deploy the frontend from `master`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjschr%2Ftrail-status-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjschr%2Ftrail-status-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjschr%2Ftrail-status-app/lists"}