Skip to content

Amazing Reddit clone - A network of communities where people can dive into their interests, hobbies and passions.

Notifications You must be signed in to change notification settings

CMP24-SWE-TEAM3/RedditX-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Artboard-1-transparent-1

⚑️Reddit clone⚑️

Amazing Reddit clone - A network of communities where people can dive into their interests, hobbies and passions.

GitHub contributors GitHub issues GitHub forks GitHub stars

πŸ“ Table of Contents


Built With :


Getting Started

This is a list of needed steps to set up your project locally, to get a local copy up and running follow these instructions.

  1. Clone the repository
    $ git clone https://github.com/CMP24-SWE-TEAM3/Backend.git
  2. Navigate to project folder and create file named ".env"
    $ cd Backend & touch .env
  3. Fill ".env" file with these data

    NODE_ENV=development
    PORT=[PORT YOU WANT]
    DATABASE=[CONNECTION STRING OF YOUR DATABASE]
    DATABASE_PASSWORD=[YOUR DATABASE PASSWORD]
    EMAIL_USERNAME=[YOUR EMAIL USERNAME]
    EMAIL_PASSWORD=[EMAIL PASSWORD]
    EMAIL_FROM=[YOUR EMAIL USERNAME]

  4. Install Node js and NPM

    Follow this article to install node js and npm Install Node js and npm

  5. Install dependencies
    $ npm install
  6. Start the application
    $ npm start

Description

This website was implemented for Software Engineering Course by a a team of 19 student, distributed into multiple small teams, Backend, Frontend, Cross-Platform, DevOps, and Testing team.

It is a Clone of many features of Reddit website.
A social media website to enable good communication between users by creating posts with photos and markdown, communicating in public or priate subreddits (communities) with multiple categories, with user system and preferences

This website is developed in React js for the frontend and in Node js for the backend using MongoDB for the database, Firebase for sending notifications, and Microsoft Azure for deployment.


API Documentation

You can look on the API documentation at API Documentation


πŸ“· Features

πŸ”’ User Authentication

  • You can use your Google account or Facebook account
  • Sign up
  • Login in
  • Forget password
  • Forget username
signUp.mp4

πŸ™β€β™‚οΈ User Profile

  • Profile overview (posts, comments, upvotes, downvotes, etc.)
  • Your Posts
  • Your Comment
  • Your Upvotes
  • Your Downvotes
  • Your Saved Posts and Comments
  • Your Hidden Posts and Comments
  • Your History
  • Your Followers
profile.mp4

πŸ“° Post

  • Create rich text post
  • Create image and video post
  • Create link post
  • Add flair to post
  • Add spoiler to post
  • Add nsfw to post
  • Upvote and downvote post
  • Save post
  • Hide post
  • Report post
  • Edit post
  • Delete post
Rich.text.mp4
Images.and.videos.mp4

πŸ’¬ Comment

  • Create rich text comment
  • Nested comments
  • Upvote and downvote comment
  • Reply to comment
  • Edit comment
  • Report comment
Comment.mp4

πŸ” Search

  • Safe search
  • Search bar
    • Search People
    • Search communities
  • Search page
    • Overview
    • Posts
    • Comments
    • People
  • Search in communities
    • Overview
    • Posts
    • Comments
    • People
Search.mp4

πŸ“§ Messages & Notifications

  • Notifications
    • Push notifications
    • All notifications
  • Messages
    • Send a private message
    • All messages
    • Unread messages
    • Sent
    • Post replies
    • Usernames mentions
    • Delete message
    • Report message
    • Reply to message
not.and.messages.mp4

πŸ§‘β€πŸ’Ό Moderator

  • Queues

    • Spam queue (posts and comments)
    • Edited queue (posts and comments)
    • Unmoderated queue (posts and comments)
  • User management

    • Banned users
    • Muted user
    • Approved user
    • Moderators
  • Flairs and emojis

    • Add new flair
  • Rules and regulations

    • Add new rule
    • Edit rule
    • Delete rule
    • Reorder rules
  • Community settings

    • Edit community name
    • Edit community description
    • Edit community topic
    • Edit community language
    • Edit community type (Public, Private, Restricted)
    • Edit community region
    • Enable/disable community Spoiler tag
    • Edit suggested sort for posts
    • Enable/disable image and video in posts
  • Community traffic

    • Day of week
    • Month
    • Page views
    • Members joined
    • Members left
moderator.mp4
Add.flair.mp4

Function Documentation

You can look on the Function documentation by opening "jsdoc/index.html"


Contributors

✍️ Contributors

AhmedLotfy02
Ahmed Lotfy

Mohamed Nabil
Mohamed Nabil

shredan abdullah
Shredan Abdullah

Moaz Hassan
Moaz Hassan

Devops

Waleed Hesham
Waleed Hesham

πŸ”’ License

This software is licensed under MIT License, See License .

About

Amazing Reddit clone - A network of communities where people can dive into their interests, hobbies and passions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages