/nacho-libro

📱 Social media platform (MongoDB, Express, Handlebars, Node.js)

Primary LanguageJavaScriptOtherNOASSERTION

Acebook Nacho Libro

Nachos

Nacho Libro Social Media Website

(Please allow a few minutes to load on your first visit)

We have created an application where users can interact with each other. This can be done by signing up, personalizing their profile page, creating posts, liking and commenting on other peoples posts.

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 long term support (LTS) version of Node.js, currently 16.14.0.
    nvm install 16
    

Set up your project

  1. Fork this repository

  2. Rename your fork to acebook-<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 vscode.

  6. Install MongoDB

    brew tap mongodb/brew
    brew install mongodb-community@4.4
    
  7. Start MongoDB

    brew services start mongodb-community@4.4
    

Start the server

npm start

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.

How to run the tests

  • 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

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
  • Try swapping 127.0.0.1, everywhere that it appears in your codebase, with 127.0.0.1. It might be surprising but this does sometimes make a difference.

Overview of Functionality

  • Sign-up and create an account
  • Sign-in/sign-out
  • View all the posts
  • Add a post
  • Add a comment
  • Like a post
  • View details about each profile
  • Edit user profile [profile picture | cover photo | works at | lives in | hobbies]

Card wall

https://trello.com/b/uX1363Jy/%E2%98%A0-nacho-libro-%E2%98%A0

Credits

Images: heart icon, logo, desk, guitar, location, bday

Technologies


Contributors


Screenshots

Timeline

Timeline

New Post

New Post

Profile Page

Profile


Domain & Process Modeling

Process Modeling

Process Modeling