Quaker Maps helps people discover Quaker communities throughout the world. Anyone can easily search for Quaker congregations by location and a variety of other criteria - including organizational affiliation, theology, and welcome to the LGBT community.
We release this project to the world under the +CAL license, which helps ensure that our code never used to harm either human rights or the environment. See LICENSE for more details.
- Node 16+ (recommended: Node 18+)
- TypeScript 5+
- npm 8+
- React 18 with TypeScript
- MUI v5 (Material-UI) for UI components and theming
- React Router v6 for client-side routing
- Google Maps React 2.1 for interactive mapping
- Styled Components 5.3 for additional styling
- ESLint for code linting (migrated from TSLint)
- Create React App 5 with TypeScript template
$ cd quaker-maps-client
$ npm install
To run this project, you'll need an API key for Google Maps. This requires setting up an account with Google Cloud Platform and following the steps detailed here.
Once you've got your API key, create a super-top-secret .env file:
$ cp .env.example .env
Then add your API key to the new .env file.
$ npm startIn the project directory, you can run:
npm start- Runs the app in development modenpm test- Launches the test runnernpm run build- Builds the app for productionnpm run lint- Runs ESLint to check code qualitynpm run lint:fix- Automatically fixes ESLint issuesnpm run type-check- Runs TypeScript compiler to check typesnpm run format- Formats code using Prettiernpm run format:check- Checks if code is properly formatted
The following steps assume that you have a firebase account and have set up a project
$ npm install -g firebase
$ firebase login
$ npm run deploy-dev
$ npm run deploy