JoatU is a platform for incentivizing community action and getting to know your neighbors. There are two halves to this: projects and trades.
For example, the members of a community may want to plant a community garden. Someone creates a project and requests volunteers. At a certain place and time, the people come together and do whatever action is needed. All participants are then rewarded in CAPS: Community Action Points which are automatically generated from project work. Initially 1 hour of work = 15 CAPS.
What can you do with CAPS? This is where the trades come in: people can post requests for things they need and offers for things they have. For example, I might be able to shovel a sidewalk and so I offer to do this for 5 CAPS (this amount does not need to match the same 1:15 ratio for projects). Or I might want help with a problem on my computer, so I offer 20 CAPS to anyone who can resolve the problem.
The development build is live.
Environment variables must be set to run and deploy JoatU. We typically use a .env
file for this which must be placed in the root JoatU directory.
REACT_APP_FIREBASE_API_KEY=
REACT_APP_FIREBASE_AUTH_DOMAIN=
REACT_APP_FIREBASE_DATABASE_URL=
REACT_APP_FIREBASE_PROJECT_ID=
REACT_APP_MAPBOX_API_KEY=
Talk to us on Gitter and we can send you the development keys and IDs.
First download and install all dependencies using yarn install
. Then start the app with yarn start
.
The following scripts are provided by Create React App:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
JoatU is built on React and Redux, connecting to Firebase using Cloud Firestore. We use Prettier to ensure a consistent coding style.
Other important libraries:
- Material-UI React widgets using Material Design
- React Router React navigation
- Ramda We love functional programming!
- redux-orm Handles the relations between objects in Redux
- Formik Simplify forms with React
- Mapbox GL JS Display and manipulate maps
- Create React App JoatU was created with this, and since we have not ejected, still is useful for understanding configuration
- Yarn We use Yarn instead of NPM for package management
Joatu is completely open source we love contributions! Look at the Issues list and find something which looks interesting. If you want to add something new, please open an Issue first. We also use Waffle to manage the project.
Then submit a pull request with your code and someone will look at it quickly.
To talk about the project, join us on Gitter.
JoatU is released under the MIT license.