Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/micahbales/quaker-maps
Mapping the Religious Society of Friends
https://github.com/micahbales/quaker-maps
Last synced: 26 days ago
JSON representation
Mapping the Religious Society of Friends
- Host: GitHub
- URL: https://github.com/micahbales/quaker-maps
- Owner: micahbales
- License: other
- Created: 2019-08-26T05:54:36.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-10T22:24:43.000Z (11 months ago)
- Last Synced: 2024-04-17T04:04:22.876Z (7 months ago)
- Language: TypeScript
- Size: 7.12 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# The Quaker Maps Project
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](https://legaldesign.org/cal-ethical-ip), which helps ensure that our code never used to harm either human rights or the environment. See `LICENSE` for more details.
# Development Setup Guide
## Requirements
* Node 12
* Typescript 3## Install Project Dependencies
```
$ cd quaker-maps-client
$ npm install
```## Set Up Google Maps API Key
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](https://developers.google.com/maps/documentation/javascript/get-api-key).
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.
## Run Project Locally
```
$ npm start
```## Deploy Project to Surge
```
$ npm install -g surge
$ npm run deploy
```## Firebase Functions
At present, Quaker Maps is an almost entirely front-end project. There is only one piece of the application that requires a backend call: the UpdateMeetings view, which forwards update meeting requests to an email that we designate.
In order for this functionality to work, we need to ensure that our Firebase function for emailing (`firebase/functions/src/controllers/email.ts`) is properly configured and deployed.
There are currently two steps to setting this up:
1. From the `firebase` directory, run `$ firebase deploy`
2. Set up the config variables invoked near the top of `email.ts` as described in the [Firebase documentation](https://firebase.google.com/docs/functions/config-env)(The URL for our backend call is hard-coded in `send_update_meeting_request`; this might need to be changed if we were to have multiple deployments with different emailing requirements)