{"id":42453947,"url":"https://github.com/mapswipe/website","last_synced_at":"2026-01-28T08:53:10.293Z","repository":{"id":171853404,"uuid":"642787586","full_name":"mapswipe/website","owner":"mapswipe","description":"Website for MapSwipe.","archived":false,"fork":false,"pushed_at":"2026-01-22T04:53:12.000Z","size":35323,"stargazers_count":1,"open_issues_count":22,"forks_count":5,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-01-22T19:07:27.959Z","etag":null,"topics":["mapswipe","missing-maps","osm"],"latest_commit_sha":null,"homepage":"https://mapswipe.org/","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/mapswipe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-05-19T10:48:01.000Z","updated_at":"2026-01-22T04:53:18.000Z","dependencies_parsed_at":"2024-04-17T07:21:58.207Z","dependency_job_id":"fa03442f-0aa2-4259-b879-f31ce850eb5a","html_url":"https://github.com/mapswipe/website","commit_stats":{"total_commits":197,"total_committers":12,"mean_commits":"16.416666666666668","dds":0.6903553299492386,"last_synced_commit":"136e305b2ffac875fb4d6a6195988910ae112aa9"},"previous_names":["mapswipe/community-website","mapswipe/website"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mapswipe/website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapswipe%2Fwebsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapswipe%2Fwebsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapswipe%2Fwebsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapswipe%2Fwebsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapswipe","download_url":"https://codeload.github.com/mapswipe/website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapswipe%2Fwebsite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28842944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["mapswipe","missing-maps","osm"],"created_at":"2026-01-28T08:53:09.732Z","updated_at":"2026-01-28T08:53:10.277Z","avatar_url":"https://github.com/mapswipe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mapswipe Website\n\nNextJs application for [Mapswipe community website](https://mapswipe.org).\n\n## Development\n\nBefore you start, create `.env.local` file:\n\n```bash\ntouch .env.local\n```\n\nSet these environment variables:\n\n```env\nAPP_ENVIRONMENT=DEV\nMAPSWIPE_API_ENDPOINT=https://backend.mapswipe.org/\nMAPSWIPE_REFERRER_ENDPOINT=https://website.mapswipe.org/\nNEXT_PUBLIC_POSTHOG_KEY=\u003cposthog-key\u003e\nNEXT_PUBLIC_POSTHOG_HOST_API=\u003cposthog-host-api\u003e\n```\n\n### Running\n\n```bash\nyarn install\n# This fetches latest data from MapSwipe database for projects\nyarn fetch-data:local\n\n\u003e NOTE: Currently the platform runs smoothly in node 16, so developers might have to switch to node 16 for development.\nyarn dev\n```\n\nWhenever new texts for translation are added, translation files need to be generated.\n\n```bash\nyarn generate:i18n\n```\n\nBefore creating a pull request, all lint and type issues must be fixed.\nTo check for issues:\n\n```bash\nyarn lint\nyarn css-lint\nyarn typecheck\nyarn unimported\n```\n\n### Building\n\n```bash\nyarn build\n```\n\n### Staging Deployment\n\nThe **staging environment** is used to test new changes before they are deployed to production.\nYou can view the live staging site here:\n🔗 [https://website-stage.mapswipe.org/](https://website-stage.mapswipe.org/)\n\n### Steps to Deploy to Staging\n\n1. **Rebase your branch onto the staging branch:**\n\n```bash\ngit checkout stage\ngit rebase \u003cbranch-you-want-to-deploy\u003e\ngit push\n```\n\nThis rebases your feature branch onto the `stage` branch and pushes the updated staging branch.\n\n2. **Trigger the staging deployment:**\n\nThe staging deployment is managed through this repository:\n🔗 [https://github.com/mapswipe/stage-website/](https://github.com/mapswipe/stage-website/)\n\nYou can manually trigger the deployment workflow here:\n🔗 [Staging Workflow – stage.yml](https://github.com/mapswipe/stage-website/actions/workflows/stage.yml)\n\n\u003e **Note:** The staging environment also auto-deploys every day at **01:00 UTC**.\n\n### Production Deployment\n\nDeployments will be triggered in 2 ways:\n\n1. Anything pushed to `main` branch will trigger immediate deployment\nto configured github io page.\n2. Every day at UTC 00:01, deployment will be triggered with\nlatest data from MapSwipe database.\n\n## Edit Website Texts\n\n### Edit Source Strings\n- Pull the latest changes from the `main` branch\n- Checkout to a new branch\n- Navigate to the source string files [here](https://github.com/mapswipe/website/tree/main/public/locales/en)\n- Open appropriate file(s) and edit string(s) as per requirement\n- Push the changes to the local branch\n- Create a pull request to the main branch\n\n### Translate Strings\n#### As Translator\n- Go to Transifex project\n- Click on the language you are looking to translate the source into\n- Open the file to translate the string\n- Translate individual string and save changes\n\n#### As Reviewer\n- Open individual strings, make sure they are correct, and click the 'Review' button\n- Continue translating and reviewing the strings until all the strings are translated and approved\n- **_NOTE: Reviewers must have appropriate permission_**\n\n### Update The Website\n- After all the strings are 100% translated in Transifex, a pull request will be sent to the main branch\n- Each resource (file) will be committed in the same PR (if not merged) as soon as it is 100% translated\n- Merging the pull request will trigger a latest build and the same will be deployed in production\n- **IF LANGUAGE IS NOT PRESENT IN THE WEBSITE**\n- Add the supported language as per the [supported languages](https://github.com/mapswipe/website#supported-languages) guide below\n\n## Supported Languages\n\nLanguages listed in [i18next-parser.config.js](https://github.com/mapswipe/community-website/blob/main/i18next-parser.config.js)\nare listed as options to view the website in that particular language.\n\nTo add a new language option, user should add [ISO_639-1](https://en.wikipedia.org/wiki/ISO_639-1)\ncode of that language to the list.\n\n```js\nmodule.exports = {\n    locales: ['en', 'ne'] // NOTE: add ISO code in this list,\n};\n```\n\nLanguage's title and abbreviation in the selected language, needs to be added\nin [languages.ts](https://github.com/mapswipe/community-website/blob/main/src/utils/languages.ts).\n\nAfter the language settings are added, user should generate the language files.\n\n```bash\nyarn generate:i18n\n```\n\n## Adding 'News \u0026 Updates' or Blogs\n\nMapSwipe website supports 'News \u0026 Updates' or blogs in the form of markdown.\nTo add a new post, you can add a markdown file inside\n[blogs](https://github.com/mapswipe/community-website/tree/main/blogs) folder.\n\nThe name of the file will determine the url for that post.\nFor example: `this-is-a-blog.md` file will be routed to\n`https://mapswipe.org/en/blogs/this-is-a-blog`.\n\nThe markdown should follow the following template:\n\n### Post Template\n\n```md\n---\ntitle: This is a blog\npublishedDate: 2022-08-17\nauthor: John Doe\ndescription: Lorem Ipsum\ncoverImage: /img/blogImages/example-image.png\nfeatured: true\n---\n\n# Markdown Content\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry.\nLorem Ipsum has been the industry's standard dummy text ever since the 1500s,\nwhen an unknown printer took a galley of type and scrambled it to make a\ntype specimen book. It has survived not only five centuries, but also the leap into\nelectronic typesetting, remaining essentially unchanged.\nIt was popularised in the 1960s with the release of Letraset sheets containing\nLorem Ipsum passages, and more recently with desktop publishing software like\nAldus PageMaker including versions of Lorem Ipsum.\n```\n\n### Metadata\n\n- We are using YAML frontmatter to set markdown metadata in posts\n- The metadata inside '---' must be filled and is required\n- The metadata renders in the card view of the Home or the posts listing page\n\n#### Rules\n\n- `publishedDate` should be in `YYYY-MM-DD` format. Any other format is not supported.\n- Project images `coverImage` should be uploaded in the [/img/blogImages](https://github.com/mapswipe/community-website/tree/main/public/img/blogImages)\nfolder.\n- The value for `featured` determines whether to highlight the posts on\nNews \u0026 Updates section of home page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapswipe%2Fwebsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapswipe%2Fwebsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapswipe%2Fwebsite/lists"}