The project uses React-Redux on the front end and NodeJS/ExpressJS on the back end.
Data is handled using mongoose and there is different modes for DEV and PROD.
The project is built using create-react-app which sets up a boilerplate React app.
-
Clone the repo
-
Run
npm install -
cd client -
Run
npm install -
Make a file config/dev.js and fill in values
i. Copy keys from prod.js
ii. Make a Google+ API key (for OAuth2) and fill in
googleClientIDandgoogleClientSecretiii. Make a database and fill in the
mongoURI(we use mlab)iv. Fill in a random string for which is used by
passport.jsfor user session cookies -
Run the project locally. (Run from top level directory)
cd ..
npm run dev The project uses the term 'star' which can be thought of as a note with added metadata. Each star has a parentId (star model) which allows the front end to format the list of 'stars' (provided by /api/stars/get) into a hierarchical tree.
The backend API endpoints are specified at starRoutes.