Roadie is an application designed to help with all aspects of roadtrip planning
Click here to view our wiki! It has tons of information about our Github workflow, application features, frontend and backend structure, design, and our project management.
This README is just for how run the application and how to run tests.
The application frontend and backend must be running at the same time. Follow the general installation instructions, then follow the separate instructions to get the frontend and backend runnning.
npm install -g npm@6
(this is so peer dependencies resolve in the legacy manner. Especially important for Windows users. See here).env
file in the frontend
folder with the following content:REACT_APP_AUTH0_DOMAIN=XXXXX
REACT_APP_AUTH0_CLIENT_ID=XXXXX
REACT_APP_AUTH0_AUDIENCE=XXXXX
REACT_APP_MAPBOX_TOKEN=XXXXX
REACT_APP_SPOTIFY_CLIENT_ID=XXXXX
REACT_APP_SPOTIFY_CLIENT_SECRET=XXXXX
REACT_APP_SPOTIFY_REDIRECT_URI=XXXXX
frontend
foldernpm install
to install dependenciesnpm start
to run the frontend.env
file in the backend
folder with the following content:MONGO_DB_PW=XXXXX
MONGO_DB_USERNAME=XXXXX
REACT_APP_AUTH0_AUDIENCE=XXXXX
backend
foldernpm install
to install dependenciesnpm start
to run the backendhttp://localhost:3000/
in a browser (or it will open automatically when the frontend
has started running)Cypress is used for frontend integration testing. The frontend must be running for these tests to work. The backend does not need to be running.
frontend
frontend
foldernpm run cypress:open
to open the Cypress applicationJest is used for frontend unit testing.
frontend
foldernpm install
npm test
Jest, Express, MongoMemoryServer, and Babel Rewire are used for backend integration and unit testing. Backend dependencies must be installed. The backend and frontend must not be running for these tests to work (port usage will conflict)
backend
foldernpm install
npm test