Welcome to Acebook! We took everything that people liked about Facebook and made our own version without invading your privacy...or are we mining your data? You'll never know, without diving into the source code above.
This Makers Academy Bootcamp project, Acebook, is a simplified version of a social media platform built with a focus on its backend technology stack.
The project utilized Express, a popular web framework for Node.js, to handle server-side routing and operations. Nodemon was used to automatically reload the server during development, while Handlebars was utilized to render view templates. Mongoose was employed to model data objects in MongoDB, ensuring efficient and organized data management. ESLint was utilized for linting and Jest was employed for testing to ensure code quality. End-to-end testing was performed using Cypress, and the project was integrated with Github for Continuous Integration (CI).
This one-week project focused on mastery of key backend technologies and best practices.
npm run start:test
npm test
npm run test:unit
npm run test:integration
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://trello.com/b/8qXzxZsw/team-sixth-sense
- Install Node Version Manager (NVM)
Then follow the instructions to update your
brew install nvm
~/.bash_profile
. - Open a new terminal
- Install the latest version of Node.js, currently
18.1.0
.nvm install 18
- Fork this repository
- Rename your fork to
acebook-<team name>
- Clone your fork to your local machine
- Install Node.js dependencies
npm install
- Install an ESLint plugin for your editor. For example: linter-eslint for Atom.
- Install MongoDB
Note: If you see a message that says
brew tap mongodb/brew brew install [email protected]
If you need to have [email protected] first in your PATH, run:
, follow the instruction. Restart your terminal after this. - Start MongoDB
brew services start [email protected]
- Start the server
npm start
- Browse to http://localhost:3000
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!