Skip to content

Reddit Clone: A full-stack application resembling Reddit, facilitating user interaction through posting, voting to posts. Includes robust authentication, posting functionalities.

Notifications You must be signed in to change notification settings

Sanjoy-droid/Reddit-Clone-using-MERN-Stack

Repository files navigation

Reddit Clone

A Reddit clone web application built with React.

Project Overview

Welcome to the Reddit Clone project! This web application serves as a simplified Reddit platform where users can view posts, interact with communities, and engage in discussions. The project is built using React and includes various features commonly found on the Reddit platform.

Features

  • Home Page: The home page displays a curated selection of posts to provide users with an overview of recent content.

  • Post Details: Users can click on a post to view detailed information, including the post title, description, and interactions.

  • User Authentication: The application supports user authentication with features such as sign up, log in, and log out functionalities.

  • Modals: Modal components are implemented for various purposes, enhancing the user interface and experience.

  • Communities: Users can explore and engage with different communities related to the posted content.

Technologies Used

  • MongoDB: MongoDB is used as the database to store restaurant and user data, providing a flexible and scalable solution for managing large datasets.

  • Express: Express.js is utilized as the backend framework for building the RESTful API endpoints, enabling efficient handling of HTTP requests and responses.

  • Node.js: Node.js serves as the server-side runtime environment, allowing JavaScript to be executed outside the browser and powering the backend functionality of the application.

  • Vite: Vite is employed as the build tool to facilitate fast and efficient development and bundling of the frontend assets, enhancing the performance and speed of the application.

  • React: The frontend of the application is developed using React, a popular JavaScript library for building user interfaces, enabling the creation of interactive and dynamic UI components.

  • Context API: React Context API is used for managing global state and sharing data between components, providing a centralized approach to state management and reducing prop drilling.

  • React Router: React Router is utilized for client-side routing, enabling navigation between different pages and components within the application without requiring a page reload.

  • FontAwesome: Icons from FontAwesome are integrated to enhance the visual appeal and usability of the application, providing a wide range of icons for various UI elements.

  • Tailwind CSS: Tailwind CSS is used for styling the application, providing utility-first CSS classes to streamline the styling process and create responsive and visually appealing designs.

  • Git: Git version control system is used for managing and tracking changes to the project codebase, facilitating collaboration and code management among team members.

  • GitHub: GitHub is utilized as the hosting platform for the project repository, enabling version control, collaboration, and code review workflows.

  • npm: npm is used as the package manager for installing, managing, and updating project dependencies, providing access to a vast ecosystem of JavaScript libraries and tools.

  • RESTful API: The application follows the REST architectural style for designing API endpoints, ensuring a standardized approach to resource management and interaction.

Installation

  1. Clone the repository:

    git clone git@github.com:Sanjoy-droid/Reddit-Clone-using-MERN-Stack.git
    
  2. Install dependencies:

    npm install

Usage

  1. Create .env file:
 VITE_URL=<your-bakcend-api (for fetching all posts)>
  1. Start the development server:

    npm run dev
  2. Open the application in your browser:

    Navigate to http://localhost:5173 to explore the Reddit Clone or the url pop-ups in your terminal as Local

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Disclaimer

This Reddit Clone project is created for educational purposes, aiming to showcase skills in web development and React programming. It is not an official Reddit product, and all credits for the original Reddit platform go to the dedicated team at Reddit. The use of the term "Reddit" is for descriptive purposes only.

This project is not intended for commercial use or to imply any official association with Reddit. All trademarks, registered trademarks, and service marks mentioned herein are the property of their respective owners.

About

Reddit Clone: A full-stack application resembling Reddit, facilitating user interaction through posting, voting to posts. Includes robust authentication, posting functionalities.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages