Acebook is a social media platform, similar to Facebook, built as part of the Makers Academy course and specifically as part of the week 8-9 engineering project.
Acebook has the following features:
- User sign up
- User log in
- A Timeline of posts
- A user can create a post
- A user can edit and delete their own posts
This project uses the following technologies:
- 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.
Our card wall can be found at this link: https://trello.com/b/7Jr6hjux/node4code
To get started using Acebook by Team Node4Code, please follow the instructions below:
Skip this step if you already have Node.js installed
- Install Node Version Manager (NVM)
Then follow the instructions to update your
brew install nvm
~/.bash_profile
. - Open a new terminal
- Install the latest long term support (LTS) version of Node.js, currently
12.14.1
.nvm install 12.14.1
Once you have installed Node:
- Clone this repository to your local machine
- Install Node.js dependencies using the command:
npm install
- Install MongoDB
brew tap mongodb/brew brew install [email protected]
- Start MongoDB
brew services start [email protected]
To use Acebook you must start the backend server, then start the frontend server.
-
To start the backend server, navigate to the Node4Code root directory and enter the command:
npm start
-
To start the front server, navigate to the directory named 'react' and enter the same command.
-
Browse to http://localhost:3000 to view and use Acebook!
- Run all tests
npm test
- Run a specific check
npm run lint # linter only npm run test:unit # unit tests only npm run test:integration # integration tests only
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.
If you would like to contribute to this project, you can follow the instructions below
- Clone this repository to your local computer
- Create a new branch: $ git checkout https://github.com/Joanneyoung01/Node4Code -b name_for_new_branch.
- Make changes and test
- Submit Pull Request with comprehensive description of changes