{"id":15383304,"url":"https://github.com/neolegends/velocity-pwa","last_synced_at":"2025-10-17T22:35:43.909Z","repository":{"id":34477961,"uuid":"157582079","full_name":"NeoLegends/velocity-pwa","owner":"NeoLegends","description":"🚴‍♂️💨 An alternative https://velocity-aachen.de/menu","archived":false,"fork":false,"pushed_at":"2023-01-04T21:39:40.000Z","size":3488,"stargazers_count":4,"open_issues_count":33,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T02:06:17.451Z","etag":null,"topics":["bike","bike-sharing"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/NeoLegends.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}},"created_at":"2018-11-14T16:58:40.000Z","updated_at":"2025-02-19T10:40:02.000Z","dependencies_parsed_at":"2023-01-15T07:30:43.505Z","dependency_job_id":null,"html_url":"https://github.com/NeoLegends/velocity-pwa","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/NeoLegends%2Fvelocity-pwa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fvelocity-pwa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fvelocity-pwa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NeoLegends%2Fvelocity-pwa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NeoLegends","download_url":"https://codeload.github.com/NeoLegends/velocity-pwa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249139462,"owners_count":21219080,"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":["bike","bike-sharing"],"created_at":"2024-10-01T14:36:50.055Z","updated_at":"2025-10-17T22:35:38.857Z","avatar_url":"https://github.com/NeoLegends.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Velocity PWA\n\nThis is an improved version of the e-bike-rental PWA found at https://velocity-aachen.de/menu.\n\nIt was rewritten from the ground up in modern React for improved performance and a better user experience. Originally written to be a 1:1 clone of the existing PWA it now has diverged from the official web app to integrate some improvements in regards to the bike booking \u0026 rental process and an improved overview over the map.\n\nThe PWA contains a service worker (that is currently disabled on iOS) and can be [installed as a Chrome PWA](https://developers.google.com/web/progressive-web-apps/desktop).\n\n## Building\n\nThis project uses Create-React-App as its build process \u0026 yarn for package management. Compiling is straightforward:\n\n`yarn build`\n\nYou will find the minified \u0026 bundled sources in the `build` folder. They can be served from any static web server.\n\n## CORS Proxy\n\nDue to CORS restrictions (and for various other reasons), the PWA requires an API proxy to Velocity's backend and to the OpenStreetMap tile servers. During development, the proxy is provided by Create-React-App. For production usage, the app is already configured for a [Netlify](https://netlify.com/) deployment.\n\nIf you want to configure the proxy manually, take a look at the [`_redirects`](https://github.com/NeoLegends/velocity-pwa/blob/master/public/_redirects) file. It lists the required rewrite rules in Netlify syntax that should be quite easy to understand \u0026 to transfer to a more general proxy solution.\n\n## Bundle Analysis\n\nThe build process will generate a bundle analysis of the compiled code at `build/bundle-stats.html`.\n\n## Development\n\n`yarn start`\n\nThe web app will by default be served on `localhost:3000`.\n\n## Screenshots\n\n### Mobile\n\n\u003cimg width=\"484\" alt=\"mobile-1-map\" src=\"https://user-images.githubusercontent.com/1683034/54537688-37669280-4993-11e9-8cb1-fcfa9e88dcd4.png\"\u003e\n\u003cimg width=\"484\" alt=\"mobile-2-menu\" src=\"https://user-images.githubusercontent.com/1683034/54537568-fec6b900-4992-11e9-9108-46acfd323be8.png\"\u003e\n\u003cimg width=\"484\" alt=\"mobile-3-popup\" src=\"https://user-images.githubusercontent.com/1683034/54537569-fec6b900-4992-11e9-983e-dcbb4121959b.png\"\u003e\n\u003cimg width=\"484\" alt=\"mobile-4-no-bikes\" src=\"https://user-images.githubusercontent.com/1683034/54537876-8c0a0d80-4993-11e9-9e99-87d937db1e96.png\"\u003e\n\n### Desktop\n\n\u003cimg width=\"1321\" alt=\"desktop-1-map\" src=\"https://user-images.githubusercontent.com/1683034/54537560-fd958c00-4992-11e9-9b45-792ceff92422.png\"\u003e\n\u003cimg width=\"1321\" alt=\"desktop-2-popup\" src=\"https://user-images.githubusercontent.com/1683034/54537563-fd958c00-4992-11e9-99a9-82687ec96b10.png\"\u003e\n\u003cimg width=\"1321\" alt=\"desktop-3-rent-at-slot\" src=\"https://user-images.githubusercontent.com/1683034/54537566-fec6b900-4992-11e9-90ee-7dff53d107fd.png\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneolegends%2Fvelocity-pwa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneolegends%2Fvelocity-pwa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneolegends%2Fvelocity-pwa/lists"}