Skip to content

adrynalean/ThreadIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

ThreadIt

ThreadIt GIF

Overview

ThreadIt is a social media platform inspired by Reddit, implemented using the MERN stack. It offers a variety of functionalities that allow users to connect, share content, and moderate communities.

Features

  1. User Registration:

    • Register with your details. Ensure that the contact number and age are numeric, while other fields are text.
  2. Login and Home Page:

    • After logging in, you will be directed to the home page where you can follow other users through the "More People to Follow" section.
  3. Subthreadit Creation:

    • Create a new subthreadit with moderator privileges.
  4. Join Subthreadit:

    • Request to join other subthreadits. Upon acceptance, you can view posts, reports, user lists, stats, and requests. You can also create posts, upvote, downvote, and comment.
  5. Leave Subthreadit:

    • You can leave a subthreadit at any time. However, once left, you cannot request to join again. You will still be able to view posts, reports, user lists, stats, and requests.
  6. Explore Subthreadits:

    • View all subthreadits under the "All SubGReadit" tab. Search by name or description (with fuzzy search enabled) and sort them as needed. Navigate to their home pages via the "view" option.
  7. Post Interactions:

    • Comment on posts if you are a moderator or member.
    • Save posts for future reference.
  8. User Reports:

    • Report other users. As a moderator, you have the option to ignore the report, block the user, or delete the post.
  9. Statistics:

    • View various statistics related to the subthreadit and user activity.
  10. Dependencies:

    • Some libraries may need to be installed, such as bcrypt and jsonwebtoken.

Getting Started

Running with Docker

Ensure Docker is installed on your system.

  1. Build the Docker images:

    sudo docker-compose build
  2. Start the application:

    sudo docker-compose up
  3. The web app should now be running on localhost:3000.

Running Frontend and Backend Individually

Frontend

  1. Navigate to the frontend directory:

    cd frontend
  2. Install the required packages:

    npm install
  3. Start the frontend server:

    npm start

Backend

  1. Navigate to the backend directory:

    cd backend
  2. Install the required packages:

    npm install
  3. Start the backend server:

    nodemon server.js
    • If nodemon is not installed, you can start the server with:
    node server.js

Contributing

If you'd like to contribute to ThreadIt, please fork the repository and use a feature branch. Pull requests are warmly welcome.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors