Skip to content

terryhycheng/acebook

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Acebook

Scalable MERN Stack Social Network - User Connections Simplified

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

preview

Acebook is a full-stack web application built with the MERN stack that aims to replicate some of the core features and functionality of the popular social media platform, Facebook.

This project provides users with a platform where they can connect with friends, share posts, photos and react to other users' content, just like on Facebook. The application has been developed using modern web development technologies and best practices, making it a robust and scalable solution for anyone interested in building a similar social networking application.

Acebook was built by a team of six developers who utilize Agile methodologies and a Git workflow to collaborate efficiently and deliver high-quality code on time.

(back to top)

Features

  • User Authentication: Acebook can allow users to register, login and logout securely. This feature enables users to create their own profiles and secure their data.
  • User Profile: Users can create and manage their profiles with photos, and personal information.
  • Posts: Users can create and share text and photos with other users. They can like, comment and share other users' posts and build a network of friends.

(back to top)

Built With

This project was built with the following tools:

  • React
  • mongodb
  • express
  • tailwindcss
  • Cypress
  • Jest

(back to top)

Getting Started

This section shows you how to set up this project locally. First, get a local copy up and running follow these simple steps.

Prerequisites

You have to make sure that mongodb, npm and node have been installed in your local machine before running the project. If not, follow the steps below.

  • npm

    npm install npm@latest -g
    npm -v
  • nvm & node

    # visit https://github.com/nvm-sh/nvm on how to install nvm
    nvm install node
    node -v
  • mongodb

    brew tap mongodb/brew
    brew install mongodb-community@5.0
    brew services start mongodb-community@5.0

Installation

  1. Clone the repo

    git clone https://github.com/terryhycheng/acebook.git
    cd acebook
  2. Install NPM packages

    cd frontend
    npm install
    
    cd ../api
    npm install

(back to top)


Start

1. Start the server

You have to run the server before running the frontend. The server will be served at port 8080 by default. A JWT_SECRET is required to start the server.

cd api
JWT_SECRET=SUPER_SECRET npm start

2. Start the frontend

In a new terminal session...

cd frontend
npm run start

You should now be able to open your browser and go to http://localhost:3000/signup to create a new user.

Then, after signing up, you should be able to log in by going to http://localhost:3000/login.

After logging in, you won't see much but you can create posts using PostMan and they should then show up in the browser if you refresh the page.

(back to top)

Contributors

We are team Gelato Geniuses, a team of six amazing, passionate and lovely junior software developers who love sharing where we can good ice-cream.

Abigail%20Makovsky
Abigail Makovsky
Amber
Amber
Chris%20Leech
Chris Leech
Joel%20Powell
Joel Powell
Terry%20Cheng
Terry Cheng
Uzair%20Patel
Uzair Patel

(back to top)

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.4%
  • HTML 1.4%
  • CSS 0.2%