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.
- 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
16.14.0
.nvm install 16
-
Fork this repository
-
Rename your fork to
acebook-<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 vscode.
-
Install MongoDB
brew tap mongodb/brew brew install mongodb-community@4.4
-
Start MongoDB
brew services start mongodb-community@4.4
npm start
- Browse to http://127.0.0.1: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 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, with127.0.0.1
. It might be surprising but this does sometimes make a difference.
- 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]
https://trello.com/b/uX1363Jy/%E2%98%A0-nacho-libro-%E2%98%A0
Images: heart icon, logo, desk, guitar, location, bday
- JavaScript | Frontend development
- Express | Web framework for Node.js(Backend development)
- Nodemon | Reloads the server automatically.
- Handlebars | Renders view templates.
- Mongoose | Models objects in MongoDB.
- ESLint | Linting.
- Jest | Testing.
- Cypress | End-to-end testing.
- Maria Gromovaja
- Nicola Cortese
- Joe Thornton
- Samuel Raducan
- Felix Taljaard
- Jasmine Cheung
- Henry Ferrari