This is a Node.js template for the Acebook engineering project.
It uses:
- Express web framework for Node.js.
- Nodemon to reload the server automatically.
- Handlebars to render view templates.
- Mongoose to model objects in MongoDB.
- ESLint for linting.
- Jest for testing.
- Cypress for end-to-end testing.
https://github.com/lucypoulton/acebook/projects/1
- Clone this repository
- Install Node.js dependencies
npm install
- Install an ESLint plugin for your editor.
- Install and start MongoDB
brew tap mongodb/brew brew install [email protected] brew services start [email protected]
- Start the server
npm start
- Browse to http://localhost:3000
- Start the server
npm start:test
- Either:
- Run all tests
npm test
- Run a check
npm run lint # linter only npm run test:unit # unit tests only npm run test:integration # integration tests only
- Run all tests
The server must be running locally with test configuration for the integration tests to pass.
npm run start:test
This starts the server on port 3030
and uses the acebook_test
MongoDB database,
so that integration tests do not interact with the development server.
Some people occasionally experience MongoDB connection errors when running the tests or trying to use the application. Here are some tips which might help resolve such issues.
- Check that MongoDB is installed using
mongo --version
- Check that it's running using
brew services list
If you have issues that are not resolved by these tips, please reach out to a coach and, once the issue is resolved, we can add a new tip!
- Start at 10am followed by standup
- Take 1 hour lunch whenever
- Finish at 4 for daily retro
- Work until 5:30 independently