Skip to content

Latest commit

 

History

History
110 lines (81 loc) · 3.59 KB

README.md

File metadata and controls

110 lines (81 loc) · 3.59 KB

Acebook - A Better and Non-Intrusive Facebook...or is it?

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.

Testing

esLint, unit and integration tests:

npm run start:test
npm test

Unit tests

npm run test:unit

Integration/Cypress tests

npm run test:integration

Packages and Planning

It uses:

Card wall

https://trello.com/b/8qXzxZsw/team-sixth-sense

Quickstart

Install Node.js

  1. Install Node Version Manager (NVM)
    brew install nvm
    
    Then follow the instructions to update your ~/.bash_profile.
  2. Open a new terminal
  3. Install the latest version of Node.js, currently 18.1.0.
    nvm install 18
    

Set up your project

  1. Fork this repository
  2. Rename your fork to acebook-<team name>
  3. Clone your fork to your local machine
  4. Install Node.js dependencies
    npm install
    
  5. Install an ESLint plugin for your editor. For example: linter-eslint for Atom.
  6. Install MongoDB
    brew tap mongodb/brew
    brew install [email protected]
    
    Note: If you see a message that says If you need to have [email protected] first in your PATH, run:, follow the instruction. Restart your terminal after this.
  7. Start MongoDB
    brew services start [email protected]
    

Start

  1. Start the server
    npm start
    
  2. Browse to http://localhost:3000

Start test server

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.

MongoDB Connection Errors?

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!