This project uses ESLint and Prettier configured for React and the Airbnb style guide. You can edit your styling and linting preferences in the .eslintrc.json and .prettierrc.json files.
- git v2.13 or greater
- NodeJS v10.13 or greater
- npm v6 or greater
- mongo v4.4.0 or greater
- nodemon
All of these must be available in your PATH
. To verify things are set up
properly, you can run this:
git --version
node --version
npm --version
node --version
nodemon --version
mongo --version
If you have trouble with any of these, learn more about the PATH environment variable and how to fix it.
This project relies on a .env
file in the root directory and the dotenv npm package. We have provided a .env.example
file for reference.
If you are not familiar with environment variables you can read more here: https://nodejs.org/docs/latest/api/process.html#process_process_env https://www.npmjs.com/package/dotenv
After you've made sure to have the correct things (and versions) installed, you should be able to just run a few commands to get set up:
npm install
This will install all of the project dependencies.
npm run dev
This should start up your Express server on port 3000 and React client on port 8080. Remember this spins up your server in development mode and requires nodemon in order to run.
In development mode the application will look to your local mongoDB instance. See the env.example file for your local MongoDB URI. If you have problems connecting make sure you have an active mongod service running locally.
Check server logs for any errors on start up. If you think we missed something feel free to open an issue on our main repository.
When you are ready to build for production run the following command:
npm run build
This should create a build folder in the root of the project with your minified code transpiled by Babel. The project is not meant for production at this time.