Skip to content

Advait0903/Reddit-Clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

rypter-logo

Reddit Clone

Reddit Clone is a web application that replicates some of the core features of the popular social media platform Reddit. The project aims to provide users with a platform where they can create communities, share posts, comment on discussions, and engage with other users in a familiar and intuitive manner.

Table of Contents

Introduction

Reddit Clone is a project that seeks to recreate the essence of Reddit, allowing users to participate in various communities and discussions on a wide range of topics. Users can create an account, join existing communities, or even start their own communities (subreddits) based on their interests.

The project is developed with a focus on user experience, responsiveness, and ease of use. It allows users to interact with posts and comments, upvote and downvote content, and engage in meaningful conversations with others.

Features

  • User Authentication: Users can create accounts and log in securely to access the platform's features.

  • Community Creation: Users can create new communities (subreddits) based on different topics and interests.

  • Post Creation: Within each community, users can create text-based posts to initiate discussions.

  • Voting System: Users can upvote or downvote posts and comments, influencing their visibility and ranking within a community.

  • Comments and Replies: Users can comment on posts and reply to other users' comments, fostering discussions.

  • User Profiles: Each user has a profile displaying their activity, posts, and comments.

  • Search Functionality: Users can search for specific communities or posts based on keywords.

Technologies Used

The Reddit Clone project utilizes the following technologies:

  • Frontend: The frontend is built using modern web technologies, including:

    • React.js: A popular JavaScript library for building user interfaces.
    • Redux: A state management library that helps manage the application's global state.
    • Axios: A library used for making HTTP requests to the backend API.
    • CSS: Custom styling to create an appealing and user-friendly interface.
  • Backend: The backend is implemented using:

    • Node.js: A JavaScript runtime used to build the server-side application.
    • Express.js: A web framework for Node.js, simplifying route handling and middleware integration.
    • MongoDB: A NoSQL database for storing user and application data.
  • Authentication: User authentication and security are managed using JWT (JSON Web Tokens) for secure and stateless authentication.

Installation

To set up the Reddit Clone locally, follow these steps:

  1. Clone or download this repository to your local machine.

  2. Navigate to the project's root directory.

  3. Install the necessary dependencies for both the frontend and backend:

    cd client
    npm install
    cd ../server
    npm install
  4. Create a .env file in the server directory and configure the required environment variables, such as database connection URI and JWT secret.

  5. Run the development server for both the frontend and backend:

    cd client
    npm start
    cd server
    npm start
  6. The Reddit Clone application should now be accessible by visiting http://localhost:3000 in your web browser.

Usage

  • User Registration: New users can create an account using the registration form.

  • Login: Existing users can log in with their credentials.

  • Community Exploration: Browse existing communities (subreddits) to find interesting topics.

  • Post Creation: Users can create new posts within specific communities to start discussions.

  • Voting and Interaction: Upvote or downvote posts and comment on discussions to engage with the community.

  • Community Creation: Users can create new communities for specific topics of interest.

Contributing

Contributions to the Reddit Clone project are welcome! If you'd like to contribute, follow these steps:

  1. Fork the repository to your GitHub account.

  2. Create a new branch with a descriptive name for your feature or bug fix.

  3. Make your changes and improvements to the codebase.

  4. Test your changes thoroughly to ensure they do not introduce any regressions.

  5. Submit a pull request with a detailed explanation of your changes and their benefits.

  6. Your pull request will be reviewed, and feedback will be provided before merging.

License

Reddit Clone is licensed under the MIT License. Feel free to use, modify, and distribute the code following the terms of the license.


Thank you for your interest in the Reddit Clone project! We hope you enjoy using this platform and participating in various communities and discussions. If you encounter any issues or have suggestions for improvement, please feel free to open an issue on this repository. Happy posting and engaging!

About

Social Media App similar to Reddit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published