Acebook is a Facebook-clone developed whilst on the Makers Academy Bootcamp July 2022.
- A (full stack) web app that allows users to login to the social media platform
- Users can interact with other users and profiles by the feed through posts, comments and likes
- Build using Test Driven Development and working cohesively as a team.
- User can sign up
- User can log in
- User can log out
- User can create and edit posts (from own profile news feed)
- User can edit their post
- User can add and edit comments
- User can 'like' post and see 'likes' count
- User can view their own and other users profile page
- User's username and timestamp displayed next to their post
- 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/fBi79KiE/eta-trello-board)
- 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 mongodb-community@5.0If you need to have mongodb-community@5.0 first in your PATH, run:, follow the instruction. Restart your terminal after this. - Start MongoDB
brew services start mongodb-community@5.0
- 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.
- 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
Some people occasionally experience MongoDB connection errors when running the tests or trying to use the application. Here are some tips that may resolve such issues:
- Check that MongoDB is installed using:
mongo --version - Check that it's running using:
brew services list
