/reddit-clone-backend

Prepared A Clone of Famous Discussion Forum Called Reddit, With Spring boot & Angular. It Has Features Such as User Can Login/Logout, Create Post, Create Subreddit, Use Subreddit, Comments on Various Posts & Upvote/Downvote Various Posts.

Primary LanguageJavaMIT LicenseMIT

Reddit Clone API

Project Live Link (Swagger 3.0 Documentation): https://reddit-clone-sb.herokuapp.com/api/swagger-ui/index.html

Working Demonstration Video Link: https://youtu.be/QhsgrZdpsGw

Project Summery:

  • Prepared A Clone of Famous Discussion Forum Called Reddit, With Spring boot & Angular.
  • It Has Features Such as User Can Login/Logout, Create Post, Create Subreddit, Use Subreddit, Comments on Various Posts & Upvote/Downvote Various Posts.

Tech-Stack / Technologies:

  • Backend:
    • Java 1.8
    • Spring Boot
    • PostgreSQL
    • Heroku (For Deployment)
    • Mailtrap (For Email Testing / Fake SMTP Server)
    • Swagger 3.0

Dependencies / Dev-Dependencies:

  • Maven - Dependencies (Backend):
    • Spring Web
    • Spring Security
    • Lombok
    • Spring Data JPA
    • PostgreSQL Driver
    • Spring Boot Dev Tools
    • MapStruct
    • Spring Boot Starter Validation
    • Java Mail Sender
    • JSON Web Token / JWT - Authentication (jjwt-api, jjwt-impl, jjwt-jackson)
    • Thymeleaf
    • Springdoc OpenApi

You Can Access The API Documentation Here.

You Can Configure Your Database, Hibernate And Email Functionality By Adding Properties Into application.properties.

In This Application, Users Receive Account Activation Emails And Comment Notification Emails, For That Reason, We Need An SMTP Server To Send The Emails, We Can Use A Fake SMTP Server Called MailTrap.

Application Screenshots:

Home :

Screenshot

Register User :

Screenshot

Login User :

Screenshot

Posts / Feeds :

Screenshot

Create Subreddit :

Screenshot

Create Post :

Screenshot

Create Comment :

Screenshot

View Post :

Screenshot

View Profile :

Screenshot

Home (Without Login) :

Screenshot