{"id":40993762,"url":"https://github.com/bikehopper/bikehopper-ui","last_synced_at":"2026-01-22T08:06:35.105Z","repository":{"id":45461171,"uuid":"452996530","full_name":"bikehopper/bikehopper-ui","owner":"bikehopper","description":"Friendly bike+transit directions (frontend)","archived":false,"fork":false,"pushed_at":"2026-01-20T00:15:11.000Z","size":4614,"stargazers_count":31,"open_issues_count":34,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-20T07:38:34.776Z","etag":null,"topics":["bikes","openstreetmap","transit"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bikehopper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-28T08:44:25.000Z","updated_at":"2026-01-20T00:15:16.000Z","dependencies_parsed_at":"2025-05-17T20:20:47.360Z","dependency_job_id":"3f708025-35db-4fb6-ad77-f7c64546f063","html_url":"https://github.com/bikehopper/bikehopper-ui","commit_stats":null,"previous_names":[],"tags_count":128,"template":false,"template_full_name":null,"purl":"pkg:github/bikehopper/bikehopper-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikehopper%2Fbikehopper-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikehopper%2Fbikehopper-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikehopper%2Fbikehopper-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikehopper%2Fbikehopper-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bikehopper","download_url":"https://codeload.github.com/bikehopper/bikehopper-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bikehopper%2Fbikehopper-ui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28659038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bikes","openstreetmap","transit"],"created_at":"2026-01-22T08:05:50.752Z","updated_at":"2026-01-22T08:06:35.099Z","avatar_url":"https://github.com/bikehopper.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BikeHopper UI\n\nBikeHopper is a navigation app for everything but cars. It gives you\ndirections that include riding a bike, taking transit, or both. We're\ndeveloping and testing in the San Francisco Bay Area, California, but\nin principle it could be used anywhere in the world where transit info\nis available in GTFS format.\n\nBikeHopper is free software under the GNU Affero General Public\nLicense, which requires the source to be kept open. We discourage\ncorporate uses of BikeHopper, but highly encourage self-hosted,\ncommunity instances in other regions. Get in touch if you'd like us to\nhelp you be the first region beyond the Bay Area to set one up.\n\nThis is the frontend! Here's how to get started. For setting up the whole project, see the [project README](https://github.com/bikehopper/)\n\n## Getting Started With the BikeHopper UI\n\nThis project uses [Vite](https://vitejs.dev/) as its build system and\nfor running a dev server.\nTo get started clone this repo, copy the `.env.development.template` to `.env.development.local`.\nThen setup the environment variables so that the basemap style can be loaded from Mapbox.\nThis will require you to\n\n1. Create a Mapbox Account (Free one is fine)\n2. Copy the `bikehopper-nouveau` style by contacting us via a GitHub issue.\n3. Set the variables in the `.env.development.local` file as per the instructions in the file.\n\nIf you're unable to copy the style, then you can use the public `mapbox://styles/mapbox/streets-v11` for the map style. It will look different, but will have the same functionality.\n\nThen run:\n\n```\nnpm install\n```\n\nto install all dependencies, and\n\n```\nnpm start\n```\n\nto start the Vite Dev Server.\n\nRequests to `localhost` are proxied to\n`https://api.bikehopper.org`. This is configured by a \"proxy\"\nproperty within `vite.config.json`. Presently there is a thin client\nlibrary at `src/lib/BikeHopperClient.ts`. More methods should be added\nas needed. This library calls the BikeHopper\n[backend](https://github.com/bikehopper/bikehopper-web-app).\n\nTo expose your dev server to your local network (so you can access it\nfrom your phone), run `npx vite --host`.\n\nIf you are running [local graphhopper](https://github.com/graphhopper/graphhopper), Edit the relevant variable in your `.env.development.local` in `bikehopper-ui` to point to local GraphHopper.\n\n## Internationalization\n\nAll user-facing strings should be wrapped in either `\u003cFormattedMessage\u003e`\ninstances or calls to `intl.formatMessage`, so that they can be translated. As\nof August 2024 we translate to Spanish and most but not all of the app is\ntranslated.\n\nThis is not yet automated, so currently, when you add a new string into the\ncode, or modify one, you should run `npm run extract` to extract the default\nmessage and its description to the English-language file.\n\nAnd after syncing translations from Weblate, run the script `compile-langs.sh`.\n(The lack of symmetry is because this command was too complex to be put into\npackage.json.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbikehopper%2Fbikehopper-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbikehopper%2Fbikehopper-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbikehopper%2Fbikehopper-ui/lists"}