Amazing Reddit clone - A network of communities where people can dive into their interests, hobbies and passions.
- Node js
- Express js
- MongoDB
- Mongoose
- JSON Web Token
- Jest
- Jsdoc
- Firebase
- Bcrypt js
- Nodemailer
- Pug
- Eslint
This is a list of needed steps to set up your project locally, to get a local copy up and running follow these instructions.
- Clone the repository
$ git clone https://github.com/CMP24-SWE-TEAM3/Backend.git
- Navigate to project folder and create file named ".env"
$ cd Backend & touch .env
- 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] - Install Node js and NPM
Follow this article to install node js and npm Install Node js and npm
- Install dependencies
$ npm install
- Start the application
$ npm start
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.
You can look on the API documentation at API Documentation
- You can use your Google account or Facebook account
- Sign up
- Login in
- Forget password
- Forget username
signUp.mp4
- 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
- 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
- Create rich text comment
- Nested comments
- Upvote and downvote comment
- Reply to comment
- Edit comment
- Report comment
Comment.mp4
- Safe search
- Search bar
- Search People
- Search communities
- Search page
- Overview
- Posts
- Comments
- People
- Search in communities
- Overview
- Posts
- Comments
- People
Search.mp4
- 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
-
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
You can look on the Function documentation by opening
"jsdoc/index.html"
Ahmed Lotfy |
Mohamed Nabil |
Shredan Abdullah |
Moaz Hassan |
Waleed Hesham |
This software is licensed under MIT License, See License .