Skip to content

A full-stack MERN social media application developed using CRUD operations and follows RESTful APIs.

Notifications You must be signed in to change notification settings

BahnMiFPS/codercomm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


CoderComm

A full-stack MERN social media application developed using CRUD operations and follows RESTful APIs.


View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. User Stories
  3. Getting Started
  4. Contact

About The Project

Product Name Screen Shot

Each user should provide a name, an email, and a password to create an account. The email address should not link to any account in the system.

After joining CoderComm, users can update their profile info like Avatar, Company, JobTitle, Social Links, and a short description about themselves

Users can write posts that contain text content and an image. The new posts will be shown on the user profile page, allowing other users to comment. Users can also react with like or dislike on a post or a comment.

Users can send friend requests to other users who have an open relationship with them. Users can accept or decline a friend request. After accepting a friend request, both become friends, and they can see posts of each other.

(back to top)

Built With

Frontend:

React.js Redux Axios Material-UI React Router

Backend:

JWT Express.js MongoDB Mongoose Bcrypt

User Stories

Authentication

  • As a user, I can register for a new account with my name, email and password.
  • As a user, I can sign in with my email and password.
  • As a user, I can stay signed in after refreshing page.

Users

  • As a user, I can see a list of other users so that I can send, accept or decline friend requests.
  • As a user, I can see the profile of a specific user given a userID
  • As a user, I can get my current profile info, and updated allowed fields such as Avatar, Company, Job Title, Social Links, and bio.

Posts

  • As a user, I can see a list of posts
  • As a user, I can create a new posts.
  • As a user, I can edit my posts.
  • As a user, I can delete my posts.

Comments

  • As a user, I can see a list of comments on a post.
  • As a user, I can write new comments on a post.
  • As a user, I can edit my comments.
  • As a user, I can delete my comments.

Reactions

  • As a user, I can react to a post or a comment with "Like" or "Dislike"

Friends

  • As a user, I can send a friend request to another user who is not my friend.
  • As a user, I can see a list of friend requests I have received.
  • As a user, I can see a list of friend requests I have sent.
  • As a user, I can see my friendlist.
  • As a user, I can accept or decline a friend request.
  • As a user, I can cancel a friend request that I sent.
  • As a user, I can remove somebody from my friendlist.

Getting Started

Client:

REACT_APP_BACKEND_API='https://codercomm-be-production.up.railway.app/api/ or http://localhost:5000/api/'
REACT_APP_CLOUDINARY_CLOUD_NAME = 'cloudinary-cloud-name'
REACT_APP_CLOUDINARY_UPLOAD_PRESET = 'cloudinary-upload-preset'

The upload preset of your cloudinary should be unsigned.

  • Run npm install

Server:

  • Clone this repo https://github.com/BahnMiFPS/coderComm-be
  • Create /.env:
PORT=5000
MONGODB_URI='replace_this_with_your_mongodb_uri'
JWT_SECRET_KEY="replace_this_with_a_secret_key_for_jwt_auth"
  • Run npm run dev

Contact

Quang Vu Luong - @LinkedIn - [email protected]

Project Link: https://github.com/BahnMiFPS/codercomm

(back to top)

About

A full-stack MERN social media application developed using CRUD operations and follows RESTful APIs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published