{"id":15059007,"url":"https://github.com/osmcha/osmcha-frontend","last_synced_at":"2025-04-04T13:07:17.653Z","repository":{"id":19547429,"uuid":"87150168","full_name":"OSMCha/osmcha-frontend","owner":"OSMCha","description":" Frontend for the osmcha-django REST API","archived":false,"fork":false,"pushed_at":"2025-04-02T20:10:27.000Z","size":144863,"stargazers_count":130,"open_issues_count":231,"forks_count":40,"subscribers_count":100,"default_branch":"main","last_synced_at":"2025-04-04T12:19:17.977Z","etag":null,"topics":["dataquality","openstreetmap","osm","osmcha","qa"],"latest_commit_sha":null,"homepage":"https://osmcha.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OSMCha.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2017-04-04T05:10:25.000Z","updated_at":"2025-04-02T23:01:30.000Z","dependencies_parsed_at":"2024-01-18T22:41:59.390Z","dependency_job_id":"33406e14-d5a6-4288-935d-21e0f61baad0","html_url":"https://github.com/OSMCha/osmcha-frontend","commit_stats":{"total_commits":880,"total_committers":36,"mean_commits":"24.444444444444443","dds":0.5488636363636363,"last_synced_commit":"77ef6be09dbab738a2719a8d4bed7131b007244e"},"previous_names":["mapbox/osmcha-frontend","osmcha/osmcha-frontend"],"tags_count":215,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSMCha%2Fosmcha-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSMCha%2Fosmcha-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSMCha%2Fosmcha-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSMCha%2Fosmcha-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OSMCha","download_url":"https://codeload.github.com/OSMCha/osmcha-frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182389,"owners_count":20897381,"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":["dataquality","openstreetmap","osm","osmcha","qa"],"created_at":"2024-09-24T22:35:19.004Z","updated_at":"2025-04-04T13:07:17.623Z","avatar_url":"https://github.com/OSMCha.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# osmcha-frontend\n\nOSMCha is composed by a group of softwares that together has the aim to make it\neasier to monitor and validate the changes in OpenStreetMap. [Learn more …](ABOUT.md)\n\n- Production instance: https://osmcha.org\n- Test instance: http://osmcha-django-staging.tilestream.net/\n\nThis repository contains the frontend code. Other repositories are:\n* [OSMCha backend code](https://github.com/willemarcel/osmcha-django)\n* [OSMCha python library](https://github.com/willemarcel/osmcha) is used to analyse the OSM changesets\n* [OSM Compare](https://github.com/mapbox/osm-compare) is used to analyse OSM features\n* [OSM Changeset Viewer](https://github.com/osmlab/changeset-map) is used to display the changeset on the main map\n\n\n## Setting up editor\n\n### Prettier\n\nThis repository uses [prettier](https://github.com/prettier/prettier) to keep the code consistent and formatted. You can config your favourite editor by the following links\n- Atom users can simply install the [prettier-atom](https://atom.io/packages/prettier-atom) package and use Ctrl+Alt+F to format a file (or format on save if enabled).\n- Visual Studio Code users can Search for Prettier - JavaScript formatter.\n\n### Prerequisite\n\n1. Install [asdf version manager](https://asdf-vm.com/guide/getting-started.html#getting-started)\n1. `asdf install` to install the required tools from [.tool-versions](./.tool-versions)\n1. `yarn install` (`brew install yarn` if required).\n\n### Local development\n\n1. `yarn start`\n1. Open [https://localhost:3000?filters=%7B%22date__gte%22%3A%5B%7B%22label%22%3A%222020-04-01%22%2C%22value%22%3A%222020-04-01%22%7D%5D%7D](https://localhost:3000?filters=%7B%22date__gte%22%3A%5B%7B%22label%22%3A%222020-04-01%22%2C%22value%22%3A%222020-04-01%22%7D%5D%7D) of e.g. [changeset#91638199](https://localhost:3000/changesets/91638199?filters=%7B%22date__gte%22%3A%5B%7B%22label%22%3A%222020-04-01%22%2C%22value%22%3A%222020-04-01%22%7D%5D%7D)\n    - The app runs with https; Firefox is recommended since it allows self signed certificates.\n    - The staging database does not have all the changesets that production has, therefore the filter is needed.\n\n**To also edit the part of the UI that is provided by the OSM Changeset Viewer**\n\nCheckout https://github.com/osmlab/changeset-map in a sibling folder.\n\n_In `./changeset-map`:_\n\n1. `yarn link`\n1. `yarn build --watch`\n\n_In `./osmcha-frontend`_\n\n1. `yarn link \"changeset-map\"`\n1. `yarn start`\n\nEdits in both projects will result in a rebuild and reload the browser.\n\nWhen finished, reset \"osmcha-frontend\" back to the npm version of \"changeset-map\" with `yarn add changeset-map@latest`\n\n### Local testing\n\nTest the application before commiting any changes. If you encounter any error make sure you have `watchman` installed. [Installation Guide](https://facebook.github.io/watchman/docs/install.html).\n\n```bash\nyarn test\n```\n\n## Deploy/Release\n\n- There are three stacks to deploy to\n- ~~`yarn deploy:dev` deploys it to `mapbox.github.io`~~ (currently broken)\n- `yarn deploy:staging` deploys it to `staging.osmcha.org`\n- `yarn deploy:prod` deploys it to `osmcha.org`\n\n1. Run the tests with `yarn test`\n\n2. (optional) before deploy, you might want to increment the version number of application.\n    * We use `minor` for all non-drastic changes.\n    * The `patch` is reserved for minor changes.\n    * We try to stick to sem-ver.\n    ```bash\n    npm version minor\n    ```\n\n3. Then build the app with the following command.\n    ```bash\n    yarn build:\u003cstack\u003e\n    ```\n    * here stack could be `dev`, `staging`, `prod`. Refer to package.json for more info.\n\n4. The next step involves deploying the `build` folder to github. If you get an error like this `error: failed to push some refs to 'git'` while doing the deploy step. Run `rm -rf node_modules/gh-pages/.cache/`.\n    ```\n    yarn deploy:\u003cstack\u003e\n    ```\n    * here stack could be `dev`, `staging`, `prod`. Refer to package.json for more info.\n    * `oh-pages` branch handles the build for `staging`, `prod` stacks.\n    * `gh-pages` branch handles the build for `dev` stack.\n\n\n5. (optional) If you want to see the new changes on a `staging` or `prod` stack. You will need to draft a new github release. The convention is to append `-staging` or `-production` or just `-server` to the current version tag for the server to consume the build and separate concerns.\n    * for eg. if the version npm module version was `v0.16.3`.\n    * draft a github release with a tag `v0.16.3-staging`. (Note the name spacing)\n    * supply this version tag to the server.\n    * Refer to githubs [article](https://help.github.com/articles/creating-releases/) for creating releases.\n\n\n## Issues and feature requests\n\nIf you have any error reports of want to request new features, please\n[read our contribution guide to file an issue](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmcha%2Fosmcha-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosmcha%2Fosmcha-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosmcha%2Fosmcha-frontend/lists"}