Skip to content

Latest commit

 

History

History
207 lines (157 loc) · 8.52 KB

README.md

File metadata and controls

207 lines (157 loc) · 8.52 KB

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)