Acebook is the first MERN stack project at Makers Academy. We were challenged to work in groups to work with a legacy codebase, improve and extend it. This project was completed within a two week period by Claire Peng, Sam Ford, Ben Dixon, Megan Folsom, and Tej Chana
1.Registration.Login.mp4
- Users can register and log in
- Users can see an error message if their email is already registered with Acebook
- Users can see an error message if the user signs in with the wrong password
2.New.Post.-.image.and.text.mp4
- Users see their name in the new post text input box
- Users can post both images and text
3.Timeline.by.New.and.Posts.2.mp4
- Users can see a timeline of posts, sorted by Newest first
- Users can see the post author, relative and absolute timestamps, and link to their profiles
- Users can like/unlike posts
- Users can see a list of comments
- Users can add a new comment
4.Timeline.by.Trending.mp4
- Users can sort posts by New or sort by Trending
- Users can see 🔥 next to trending posts -- newer posts with more recent engagement (comments, likes) are prioritised
5.Searchbar.mp4
- Users can use live-search searchbar
6.Own.Profile.Update.mp4
- Users can see their profile, profile picture, bio, email, and past posts
- Users can update their bios
7.Friends.1.mp4
- Users can send/unsend friend requests on other user's profiles
- Users can confirm/deny friend requests in their friend requests page or on other users' pages
- Users can see a notification in their navbar if they have a friend request
- Users can unfriend friends through their friends list or on other users' pages
8.Login.Timeout.1.mp4
- If inactive for 20 minutes, users get timed out and a log-in prompt occurs
- Install Node Version Manager (NVM)
Then follow the instructions to update your
brew install nvm~/.bash_profile. - Open a new terminal
- Install the latest version of Node.js, currently
18.1.0.nvm install 18 - Install Node.js dependencies for both the
frontendandapidirectories.; cd api ; npm install ; cd ../frontend ; npm install
- Install MongoDB
Note: If you see a message that says
brew tap mongodb/brew brew install mongodb-community@5.0If you need to have mongodb-community@5.0 first in your PATH, run:, follow the instruction. Restart your terminal after this. - Start MongoDB
brew services start mongodb-community@5.0
- Sign up for a Cloudinary account.
- In
/apiinstall the following:
; cd api
; npm install cloudinary multer dotenv
- In
/frontendinstall the following:
; cd frontend
; npm install --save-dev cypress-file-upload
- Add a
.envfile to your root folder and add the following variables (replacing the values with your Cloudinary account API credentials)
; CLOUDINARY_CLOUD_NAME=your_cloud_name
; CLOUDINARY_API_KEY=your_api_key
; CLOUDINARY_API_SECRET=your_api_secret
- Start the server application (in the
apidirectory)
Note the use of an environment variable for the JWT secret
; cd api
; JWT_SECRET=f6d278bb34e1d0e146a80b16ec254c05 npm start
- Start the front end application (in the
frontenddirectory)
In a new terminal session...
; cd frontend
; npm start
You should now be able to open your browser and go to http://localhost:3000/