{"id":18431143,"url":"https://github.com/sandesh300/reddit-clone-backend","last_synced_at":"2026-04-09T23:03:20.718Z","repository":{"id":227136947,"uuid":"667532433","full_name":"sandesh300/Reddit-Clone-Backend","owner":"sandesh300","description":"Reddit-Clone uses Spring Boot for backend, Spring Security with JWT, Spring Data JPA, Angular for UI, MySQL for data, and Spring MVC.","archived":false,"fork":false,"pushed_at":"2024-03-11T19:31:40.000Z","size":84,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-16T09:16:52.658Z","etag":null,"topics":["angular","java","javascript","jwt-authentication","mysql","rest-api","spring-boot","spring-data-jpa","spring-mvc","spring-security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandesh300.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-07-17T18:10:18.000Z","updated_at":"2024-11-14T14:34:24.000Z","dependencies_parsed_at":"2024-03-11T20:44:37.243Z","dependency_job_id":null,"html_url":"https://github.com/sandesh300/Reddit-Clone-Backend","commit_stats":null,"previous_names":["sandesh300/reddit-clone-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FReddit-Clone-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FReddit-Clone-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FReddit-Clone-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandesh300%2FReddit-Clone-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandesh300","download_url":"https://codeload.github.com/sandesh300/Reddit-Clone-Backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248794572,"owners_count":21162614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","java","javascript","jwt-authentication","mysql","rest-api","spring-boot","spring-data-jpa","spring-mvc","spring-security"],"created_at":"2024-11-06T05:23:40.748Z","updated_at":"2026-04-09T23:03:15.696Z","avatar_url":"https://github.com/sandesh300.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Reddit-Clone-Backend\n\n## Introduction -\nThis project is a Reddit-Clone web application developed using Spring Boot. It provides users with functionalities similar to Reddit, allowing them to create posts, comment on posts, upvote/downvote posts and comments, and more. The application also incorporates Spring Security with JWT Authentication for secure user authentication and authorization.\n\n## Technologies -\n- Spring Boot: Framework for building Java-based web applications.\n- Spring Security: Provides authentication, authorization, and other security features.  \n- Spring Data JPA: Simplifies data access and manipulation by providing repositories and entity management.\n- Angular: To build a beautiful user interface.\n- MySQL: Relational database management system for storing application data.\n- Spring MVC: Architecture for building web applications based on the Model-View-Controller pattern.\n\n## Features -\n- User Registration: Allows users to create new accounts with unique usernames and passwords.\n- User Authentication: Secure authentication using JWT tokens.\n- Post Creation: Users can create new posts with titles, content, and categories.\n- Commenting: Users can comment on posts and reply to existing comments.\n- Voting System: Users can upvote or downvote posts and comments.\n- Search Functionality: Enables users to search for posts by title or category.\n- Pagination: Efficiently handles large amounts of content by dividing it into pages.\n\n## Architectures -\nThe application follows a standard MVC architecture:\n\n- Model: Represents the data and business logic of the application. Entities and repositories are managed using Spring Data JPA.\n- View: Defines the presentation layer of the application. Thymeleaf templates or frontend frameworks can be used for rendering HTML pages.\n- Controller: Handles user requests, performs necessary operations, and returns appropriate responses. Controllers are responsible for interacting with services and repositories.\n\n## Modules -\nThe key modules of the application include:\n\n1. Authentication Module: Handles user authentication and authorization using Spring Security and JWT tokens.\n2. Post Module: Manages the creation, retrieval, updating, and deletion of posts.\n3. Comment Module: Handles comments associated with posts and provides functionalities for adding, viewing, and deleting comments.\n4. Vote Module: Implements the voting system for posts and comments, allowing users to upvote or downvote content.\n\n## MySQL Table Schema -\nBelow is the simplified schema for the MySQL database used in this project:\n1. User Table:\n- user_id (Primary Key)\n- username\n- password (hashed)\n- email\n- created_at\n\n2. Post Table:\n- post_id (Primary Key)\n- title\n- content\n- category\n- user_id (Foreign Key)\n- created_at\n\n3. Comment Table:\n- comment_id (Primary Key)\n- content\n- post_id (Foreign Key)\n- user_id (Foreign Key)\n- created_at\n\n4. Vote Table:\n- vote_id (Primary Key)\n- vote_type (ENUM: UPVOTE, DOWNVOTE)\n- post_id (Foreign Key)\n- comment_id (Foreign Key)\n- user_id (Foreign Key)\n\n## Images -\n## Home Page -\n![Screenshot (1038)](https://github.com/sandesh300/Reddit-Clone-Backend/assets/92014891/86007fa1-2b05-4b31-983c-550bb3e3b90b)\n\n## Sign Up page -\n![Screenshot (1040)](https://github.com/sandesh300/Reddit-Clone-Backend/assets/92014891/226f4b1a-fd5d-4906-9ffe-229d86caeacc)\n\n## Create Sub Reddit Page -\n![Screenshot (1041)](https://github.com/sandesh300/Reddit-Clone-Backend/assets/92014891/1b8d655b-f909-4d25-97a5-143412a7b52f)\n\n## Create Post Pages -\n![Screenshot (1044)](https://github.com/sandesh300/Reddit-Clone-Backend/assets/92014891/1b7e4d7d-d7f6-433c-9270-c16f252ff22e)\n\n![Screenshot (1046)](https://github.com/sandesh300/Reddit-Clone-Backend/assets/92014891/2b83fbf6-1996-48f4-a108-3f1e345eca38)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandesh300%2Freddit-clone-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandesh300%2Freddit-clone-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandesh300%2Freddit-clone-backend/lists"}