- Socially norm and reward social distancing;
- translate pledge into actions to protect the vulnerable; and
- meet basic human needs (connect Mainers and connect resources to Mainers)
- Design: https://www.figma.com/file/kqXqqrZMhtZ927GNsOhtfW/PPME_Site?node-id=0%3A1
- Dev Trello Board: https://trello.com/b/jDbCw8rw/pledge-to-protect-me-dev
- Site copy: https://docs.google.com/document/d/1CmGSXUNNb3GhjcN4AMbXL66V7tOJ41LNF2CLZiNNtOs/edit
- Tech Stack and Dev procedures: https://docs.google.com/document/d/17YeCe26vHLFyhwP9Erf4dcp8Be8KDouAE81CdnM8GOY/edit
Online app where Mainers take a pledge
Online app creates a hub where pledge can transform into actions.
- Socially distance
- Adopt another citizen
The social distancing pledge could take form as a
- Rainbow ribbon around a tree
- Changing Facebook status / picture
- Tweet
- Sign a pledge online (to keep track of numbers)
The adopt a Mainer pledge could connect
- College students to adopt a virtual grandparent
- Vulnerable Mainers to become a virtual tutor
- Millennials to adopt a senior to prevent isolation (make sure basic needs are met, etc.)
-
Pledge leverages other Maine specific resources. Those who pledge access web page with pooled resources and updates
-
Teams focus on marketing and communication, place for people to post when there is a need that feeds to social networks like Twitter, Facebook, NextDoor, etc.
-
Add a points / reward system to build gamification into civic responsibility
-
Upload stories/images
-
Search option to find people in need, user interface, server needs for website and database
-
Social media badges, filters, stickers
-
Contact tracing & self reporting
Because this app is made of two npm projects, there are two places to run npm
commands:
- Node API server at the root
./
- React UI in
react-ui/
directory.
In a terminal:
# Initial setup
npm install
# Start the server
npm start
npm install package-name --save
The React app is configured to proxy backend requests to the local Node server. (See "proxy"
config)
In a separate terminal from the API server, start the UI:
# Always change directory, first
cd react-ui/
# Initial setup
npm install
# Start the server
npm start
# Always change directory, first
cd react-ui/
npm install package-name --save
https://devcenter.heroku.com/articles/heroku-cli#download-and-install
First create a .env file at the head of the project:
cat .env
Get the Environment Variables from Heroku
heroku config --app mainersmatter-stage
npm run start:heroku
# or
heroku local
This repository contains .editorconfig and .eslintrc.js configuration files for defining our code style. We recommend configuring your code editor to display linting messages inline according to these rules.
To help us keep the codebase consistent, please run npm run lint
prior to pushing new code to display any linting warnings or errors. Running npm run lint-fix
can automatically fix some of these, but others you may need to correct manually.
- A developer assigns themselves to a card from the Trello board
- The dev should create a feature branch for that work from the develop branch
- During development, the dev should run a development server locally for testing their work (instructions above)
- Once the work is completed development the dev should create a Pull Request to the develop branch
- The author can go ahead and merge the PR without waiting for approvals. If someone sees something after the merge that they think should be changed they can discuss it on the PR or just go ahead and make the change. Just because code has been merged doesn’t mean it’s set in stone, we can constantly be iterating as needed.
- After merging move your Trello card to the "In Testing" column
- The staging environment in Heroku has the develop branch deployed to it and all updates to the branch will be deployed automatically to there
- Once your changes have been deployed to Stage you should verify that they work as intended and display matches what was specified now that the code is in the environment.
- If you see things that still need tweaking you should continue to work on it
- If everything looks good you can move your Trello card to the "Done" column
- Periodically it will be decided by designated project leads when the staging site is in a state where they are happy with its contents and would like it pushed to our production site.
- A designated dev or DevOps person will merge the develop branch to master
- A DevOps person (someone with Heroku access) will perform a manual deploy of the master branch to the Production Heroku environment.