{"id":45658856,"url":"https://github.com/codeforboston/mattapan-mapping","last_synced_at":"2026-02-24T08:57:52.700Z","repository":{"id":39568560,"uuid":"357734112","full_name":"codeforboston/mattapan-mapping","owner":"codeforboston","description":"Mattapan Mapping application. A collaborative between powerfulpathways.org \u0026 codeforboston.org . Ideation phase.","archived":false,"fork":false,"pushed_at":"2023-08-18T08:27:21.000Z","size":39152,"stargazers_count":5,"open_issues_count":62,"forks_count":16,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-10-08T18:47:37.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://mattapan-pp.netlify.app/","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/codeforboston.png","metadata":{"funding":{"custom":"https://www.codeforamerica.org/donate-to-a-brigade?utm_campaign=CodeforBoston\u0026utm_source=github"},"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}},"created_at":"2021-04-14T01:15:23.000Z","updated_at":"2022-11-30T21:19:05.000Z","dependencies_parsed_at":"2022-08-29T12:01:43.114Z","dependency_job_id":"7d3b1b08-a222-4620-977d-054d16bc3034","html_url":"https://github.com/codeforboston/mattapan-mapping","commit_stats":{"total_commits":136,"total_committers":22,"mean_commits":6.181818181818182,"dds":0.6102941176470589,"last_synced_commit":"5f7c765edb506fa1ed900467be69680219685e62"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/codeforboston/mattapan-mapping","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforboston%2Fmattapan-mapping","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforboston%2Fmattapan-mapping/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforboston%2Fmattapan-mapping/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforboston%2Fmattapan-mapping/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeforboston","download_url":"https://codeload.github.com/codeforboston/mattapan-mapping/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeforboston%2Fmattapan-mapping/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29777479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"last_error":"SSL_read: 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":[],"created_at":"2026-02-24T08:57:51.517Z","updated_at":"2026-02-24T08:57:52.691Z","avatar_url":"https://github.com/codeforboston.png","language":"TypeScript","funding_links":["https://www.codeforamerica.org/donate-to-a-brigade?utm_campaign=CodeforBoston\u0026utm_source=github"],"categories":[],"sub_categories":[],"readme":"# Mattapan Mapping\n\nThis is the repository dedicated to the creation, ongoing development and management of the Mattapan Mapping application. This project is a collaborative project between http://powerfulpathways.org and http://www.codeforboston.org.\n\n## Project Description\n\nThe Mattapan Mapping project is a web application that is designed to be accessible while providing a similar experience/look-and-feel regardless of device. The project enables members of the greater mattapan community to share information in the form of photos, videos, audio overlayed with statistical and geographic information to provide a narrative of change in the community. This information can serve as a catalyst for change by generating conversations around the challenges facing the community in light of gentrification and housing affordability crisis.\n\nPrototype V1: https://codeforboston.github.io/mattapan-mapping-june2021/\n\n## Project Management\n\nThis project will be run utilizing the [Agile Kanban methodology](https://www.atlassian.com/agile/kanban).\n\nAll development tasks associated with the project will first be created as Kanban cards added to the following Kanban board:\n\nhttps://github.com/codeforboston/mattapan-mapping/issues\n\n\nAnyone should enter a card if they feel work needs to be done and they've searched and do not see it. We'll evaluate the new cards regularly. Similarly, all cards have the ability to take comments. Any concerns/advice/tips to improve the proposed change should be added as a comment. \n\nIn general, cards should have a descriptive title. Cards should be labeled with the feature(s) they relate to. And cards should have a clear description and acceptance criteria. Ideally, a contributor could start the card and not need any additional detail to complete the work. \n\nComments should be added as you make changes. If you are making lots of code changes, please make incremental commits and push your work-in-progress up to the main repo for review/discussion (more details below). The team/facilitator/feature lead may need to reassign work. Having any incremental work available makes this a more seamless process.\n\nThe project will have the following roles which, as an agile team, we expect to rotate so everyone gets some varied experience:\n\n1. Product Owner - a representative from the business side whose job it is to represent the customer and their feedback and prioritize the work.\n2. Architect - Facilitate decisions about any technology choices. Ensure that we address issues with security/maintaining code/handling the CICD process design\n3. Facilitator - Ensures that Issues and PRs are updated in an orderly fashion if the team is not doing it automatically. Ensures agile practices are followed and that documentation is updated. \n4. Feature Lead - Individuals lead specific features. They are responsible for breaking the work into issues and ensuring that the work is co-ordinated and delivered on time.\n5. DevOps Lead - This person leads resources assigned to coordinate code reviews, integrate changes, and release the software to production. DevOps may serve as backup to faciliator.\n6. PR - This person tracks the progress of the project and reports status each week to CFB and entices new people to join and helps them onboard. This person is also responsible for any other external communication the project has (scheduling interviews/working with outside organizations etc.\n\nEveryone on the team has a voice and is encouraged to be involved/ask questions and participate. These roles help us understand who is responsible for what.  \n\n\nCurrent members include:\n\n- Allentza Michel (powerfulpathwaysinc@gmail.com)\n- Barry Fradkin (bfradkin@comcast.net)\n- Brad Smith (brad@smithwebtek.com)\n- Jeff Korenstein (j.korenstein@gmail.com)\n- Kayla Patel (kayla.patel@tufts.edu)\n- Sasha Hulk (srhu222@gmail.com)\n- Shay McDonough (shay.m.mcdonough@gmail.com)\n- Stephan Halarewicz (shalarewicz@gmail.com)\n- Stephen McCall (stephen.mccall@gmail.com)\n- Dickson Lau (kr.d.tsl@gmail.com)\n- Anita Yip\n\nPast members include:\n\n- David Morrison\n- James Gui\n- Jed Pittman \n- Tejasvi Srigiriraju \n\nSharing of any of the information pertaining to these resources outside of the accepted team members is prohibited.\n\n-----\n## Contributing Code\n\n### Tab Spaces\nFor this repository please use **spaces** and a tab-width is equivilant to **two spaces**.\n\n### Atomic Design\nThis application loosely follows [**Atomic Design Principles**](https://bradfrost.com/blog/post/atomic-web-design/). In the context of React applications, web pages are essentially made up of components that are made up of even smaller components. Theoretically a 'component' can be as atomic as you want and entire interfaces can be broken down into fundamental building blocks.\n\nNow consider, within the context of science, that **Atoms** are the most basic unit of life.\n\nAtoms, through their different types of bonding and mechanisms, form to create **Molecules**.\n\nMolecules may coalesce and give rise to **Organisms**\n\nAnd, bear with me here, Organisms eventually comprise of full fledged HTML pages, which ultimately make up the contents of your application.\n\n[Read more here](https://bradfrost.com/blog/post/atomic-web-design/)\n\n### Agile Practices\nIf you are unfamiliar, Agile projects generally follow the https://agilemanifesto.org/. This project's agile practices are described below.\n\nThis project uses the [Task Branching methodology](https://www.atlassian.com/agile/software-development/branching).\n\nAny changes to the codebase should occur in a separate branch created specifically to implement the work associated with a specific Kanban issue card.\n\nThe naming convention for each branch should be: **Kanban Task Name** - **Release Name**.\n\nFor instance: \n\n        feature/implement-mapping-feature-1.0.0\n        \n\nDevelopers will create all changes necessary to implement a task/feature in a single branch, and each task/feature branch \nwill undergo a team code review prior to being merged to the Main branch of the project. If you are having trouble/need assistance, you can push your branch early and start a pull request and prefix with WIP (work in progress). This will indicate to others it is not ready. However, this can help others stay up to date on code and get comments/feedback out early before code is fully baked.\n\n### Code Reviews\nCode reviews and merges will be submitted via [Pull Requests](https://github.com/features/code-review/).\nPlease see the following links to familiarize yourself with the Pull Requst process:\n\n* [About Pull Requests](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests)\n* [Creating a Pull Request](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)\n\nFor the time being only dedicated members of the development team will have access to this repo and any other external technical resources.\n\nCommit messages should begin with the issue id they are referring to. So your commit message might be \"#43-finished coding ui change.\"\n\nSimilarly, pull requests should have a similar message including the id e.g.:\n\"Closes #43. 1. Finished all UI changes. 2. Cleanup some old comments.\"\n\nThen when that Pull Request is reviewed and merged the issue will automatically be closed on the board.\n\nWhile it is generally expected that any Pull Request will be related to a task, it could be the case you notice something that needs fixing outside of scheduled work, e.g. a broken test. In this case, create a branch chore/fixing_broken_test. Make your change and commit and submit a PR. This time, just provide a simple description. \n\nAll PRs should follow the standard testing process and include proof that testing has been run locally. We will also run automation in the pipeline, but tests should always be run locally and a screenshot/note included. \n\n### Developer Environment Setup\n\nThe Mattapan Mapping project makes use of the following tools to aid contributors....\n\nUse of an IDE is strongly recommended.\n\nSteps to build and run the application locally:\n\n1. `git clone` the repo\n\n2. `yarn` to install dependencies \n        \n3. `yarn start` to boot up dev server hosting on port 3000\n\n#### Required Environment Variables\n\nThere some important and sensitive environment variables are required in order for the app to work as intended. Create a `.env` file at the project root, then ask a fellow member for the following environment variables:\n\n- `REACT_APP_MAPBOX_ENV`\n- `REACT_APP_GRAPHQL_URI`\n\n\u003e ⚠️ ***Caution:** Do **NOT** stage and commit your `.env` file into `git` version control, much less at the public GitHub repo. The `.gitignore` file is intended to prevent you from accidentally pushing the file and exposing those variables to the public.*\n\nWhen deciding on adding more environment variables for the React App, refer to [this documentation](https://create-react-app.dev/docs/adding-custom-environment-variables/) for more info.\n\n### GraphQl TypeScript Code Generator\n\nWhile GraphQl is a strongly typed query language, there are no way for TypeScript to understand the typing of GraphQl queries out of the box. While it can be possible to manually create interface/types by hand, it's time consuming. [GraphQL Code Generator](https://www.graphql-code-generator.com/) makes generating TypeScript types and hooks from GraphQl queries/files as simple as typing `yarn codegen` on the CLI and generate the functions and types to use in `src/graphql/generated.ts` file.\n\nFor convenience, all GraphQl queries are under the `src/graphql/queries/` directory as referred to the `codegen.yml` file. All GraphQl must have a unique name for codegen to name React hooks from. (Ex. a `.gql` file with \"query queryName\" will create \"useQueryNameQuery\" and \"useQueryNameLazyQuery\")\n\nRefer to [this GraphQL Code Generator documentation](https://www.graphql-code-generator.com/docs/config-reference/codegen-config) for more info.\n\n### Automated Testing\nThis project will have both automated tests that are part of the standard release pipeline and\ntests that can be run adhoc locally during the local development of changes. This ensures that code that is submitted for review has been tested.\n\n-----\nThis codebase will make use of [react-testing-library](https://testing-library.com/docs/react-testing-library/intro/) testing framework. \n\nThe test suites can be run using the following command...\n\n### Release\n\nThis project makes use of the [SemVer naming convention](https://semver.org/) for releases:\n\nMAJOR version when you make incompatible API changes\n\nMINOR version when you add functionality in a backwards compatible manner, and\n\nPATCH version when you make backwards compatible bug fixes.\n\n### Documentation\n\nAll great open source projects start with amazing documentation! :)\n\nDocumentation describing the Mattapan Mapping application will be avaialble in this repo and at the following locations...\n\n## External Resources\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeforboston%2Fmattapan-mapping","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeforboston%2Fmattapan-mapping","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeforboston%2Fmattapan-mapping/lists"}