- User Stories
- Quickstart
- Card wall
- Contributing
- Team Members
- Trello Board
- Retro Board
- Reflections about our journey
- Acknowledgements
- (1) Sign Up
- (2) Log In
- (3) Log Out
- (4) List Users
- (5) Send Friend Request
- (6) Accept Friend's Request
- (7) View Feed
- (8) Posting to Feed
(1)
As a user of AceBook,
I want to be able to sign up,
So that I can access the services of the site.
(2)
As a user of AceBook,
I want to be able to login,
So that I can access my account.
(3)
As a user of AceBook,
I want to be able to logout,
So that I can protect the security of my account.
(4)
As a user of AceBook,
I want to be able to view a list of all users,
so that I can choose to add other users as friends.
(5)
As a user of AceBook,
I would like to be able to send a friend request,
So that I can become friends with another user.
(6)
As a user of AceBook,
I would like to be able to approve or deny a friend request,
So that I can decide who I want to be friends with.
(7)
As a user of AceBook,
I want to be able to view the feeds of my friends,
So that I can see what they are doing.
(8)
As a user of AceBook,
I want to be able to login and logout securely,
So that I know my details are stored safely.
(9)
As a user of AceBook,
I want to be able to post to my feed,
So that I can share things with my friends.
- 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/agT0v9jj/acebook-rob-and-the-meerkats
- 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
10.16.3.nvm install 10.16.3
- Fork this repository
- Rename your fork to
https://github.com/robbaile/acebook-robAndTheMeerkats - 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
brew tap mongodb/brew brew install mongodb-community@4.2 - Start MongoDB
brew services start mongodb-community@4.2
- Start the server
npm start - Browse to http://localhost:3000
- 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
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 MongoDB database,
so that integration tests do not interact with the development server.