Skip to content

CA-G12/reddit-clone

Repository files navigation

reddit-clone

Reddit website clone project.

Live link

You can check the website out from HERE.

What is this project

This project is one of the GSG Code Academy's requirements. In this project, we clone the famous Reddit website.

User journey

  • User can sign up and login.
  • User can view their own profiles as well as any other person's profiles.
  • User don't need to be logged in to view the website, however you need to be logged in to post, comment, up vote...etc.
  • User should see all posts on the home page, ranked in descending order by votes.
  • User should be able to click on a "Create Post" button and see a modal to create a new Post.
  • User should be able delete their own posts.
  • User should be able to create a comment on a Post.

User stories

  • As a user, I should be able to use the see the posts and search for users and their profiles without having an account in the website.
  • As a user, I should be able to sign up and create an account.
  • As a user, I should be able to login to my account.
  • As a user, I should be able to create posts if I have a an account.
  • As a user, I should be able to up vote and down vote the posts.
  • As a user, I should be able to see the posts in a descending order depending on the votes count.

ER diagram

You can check the ER diagram from HERE.

How to get the project on you local machine

Screenshot from 2022-09-03 17-29-13

  • If you are a git user, you can click the code drop-down menu as illustrated in the picture above and copy the link to clone the repo.
  • Now go to your terminal and type: git clone <the link here> and then the repo will be cloned to your local machine.
  • By now you have to open your IDE -I recommend VSCode- and open the project.
  • to open a live version from your local machine project, you can run the script npm i, this will download the dependencies and devDependencies, then run the command num run dev to open a hot server. By now you can go to you localhost:3000 to see the project.
  • If you don't have git in you command line, you can download the project as a zip file.
  • Happy Coding!🤞

Used technologies

  • HTML5.
  • CSS3.
  • JavaScript.
  • Regex.
  • DOM manipulation.
  • Fetch web API.
  • Node.js.
  • Express.js.
  • PostgreSQL.
  • Joi validation.
  • Jest testing library.
  • Supertest testing library.
  • Browser cookies.

Developer

This project is done by Mustafa Salem, Junior Web Developer.