{"id":23315240,"url":"https://github.com/itk-dev/aapodwalk","last_synced_at":"2026-04-14T00:05:12.498Z","repository":{"id":63613645,"uuid":"557319023","full_name":"itk-dev/aapodwalk","owner":"itk-dev","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-29T14:58:06.000Z","size":24527,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-02-13T08:16:56.661Z","etag":null,"topics":["javascript","podcast","react","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"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/itk-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-25T13:26:22.000Z","updated_at":"2025-01-17T11:25:09.000Z","dependencies_parsed_at":"2024-06-07T09:33:44.570Z","dependency_job_id":"7d106cae-d09c-4d9f-9b2a-eb58beba5229","html_url":"https://github.com/itk-dev/aapodwalk","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":"itk-dev/itk-base-template-repository","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Faapodwalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Faapodwalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Faapodwalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itk-dev%2Faapodwalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itk-dev","download_url":"https://codeload.github.com/itk-dev/aapodwalk/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247585815,"owners_count":20962408,"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":["javascript","podcast","react","vite"],"created_at":"2024-12-20T15:33:25.653Z","updated_at":"2026-04-14T00:05:12.492Z","avatar_url":"https://github.com/itk-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Podwalk\n\nThis is the frontend of a project that creates guided audio tours.\n\n## Podwalk lingo\n\n### Point of interst\n\nA point is a geo location which plays a piece of audio or a video.\n\n### Route\n\nA route consists of multiple connected points.\n\n### Tag\n\nA tag can be connected to multiple routes. The tags are used to group different routes together. A route can have\nmultiple points and tags.\n\n``` mermaid\n---\ntitle: Podwalk\n---\nclassDiagram\n    Route --\u003e Tag\n    Route --\u003e Point\n```\n\n### Map\n\nThis project relies on a [OpenStreetMap](https://www.openstreetmap.org/), implemented with [React\nLeaflet](https://react-leaflet.js.org/).\n\n## Development setup - running the app in docker\n\nTo run this app, there are some local variables that needs to be set:\n\n`env.local`\n\n```shell\n# The location of the api\nVITE_APP_API_BASE=API_URL_HERE # Probably https://aapodwalk-api.local.itkdev.dk/\nVITE_APP_API_ROUTE=api/v1/\nVITE_APP_TOKEN=token_stuff_here # This is created in the api\n```\n\nThen you up the container:\n\n```shell name=development-develop\ndocker compose pull\n# Stop the \"build\" setup\nCOMPOSE_PROFILES=\"*\" docker compose stop\ndocker compose run --rm node npm install\n# When the container 'up's, npm runs start that watches files\ndocker compose up --detach --remove-orphans\nopen https://aapodwalk.local.itkdev.dk\n```\n\n*Note*, if there is no api running, you will see an empty page.\n\n## Building the app\n\nTo test the app, as it is in production, you can do the following:\n\n```shell name=development-build\ndocker compose pull\ndocker compose run --rm node npm install\ndocker compose run --rm node npm run build\ndocker compose run --rm node rm -rf node_modules\nCOMPOSE_PROFILES=\"*\" docker compose stop\n# Start the \"build\" profile (cf. https://docs.docker.com/compose/how-tos/profiles/)\nCOMPOSE_PROFILES=build docker compose up --detach --remove-orphans\nopen https://aapodwalk.local.itkdev.dk\n```\n\n## Linting\n\n```shell name=development-install\n# development-install is used in actions\ndocker compose run --rm node npm install\n```\n\n### Check and apply with prettier\n\n```shell name=prettier-check\ndocker run --rm --volume \"$PWD:/work\" tmknom/prettier:latest --check src\n```\n\n```shell name=prettier-apply\ndocker run --rm --volume \"$PWD:/work\" tmknom/prettier:latest --write src\n```\n\n### Check and fix with ESLint\n\n```shell name=eslint-check\ndocker compose run --rm node npm run lint:js\n```\n\n```shell name=eslint-fix\ndocker compose run --rm node npm run lint:js:fix\n```\n\n### Check and apply markdownlint\n\n```shell name=markdown-check\ndocker run --rm --volume \"$PWD:/md\" itkdev/markdownlint --ignore node_modules --ignore LICENSE.md '**/*.md'\n```\n\n```shell name=markdown-apply\ndocker run --rm --volume \"$PWD:/md\" itkdev/markdownlint --ignore node_modules --ignore LICENSE.md '**/*.md' --fix\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitk-dev%2Faapodwalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitk-dev%2Faapodwalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitk-dev%2Faapodwalk/lists"}