Skip to content

ilyasbelfar/ONetwork-Forum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

673cbaf Β· Apr 15, 2023

History

30 Commits
Mar 10, 2023
Jan 22, 2023
Feb 27, 2023
Jan 22, 2023
Apr 15, 2023
Jan 22, 2023
Jan 22, 2023

Repository files navigation

🌐 ONetwork Forum

ONetwork Forum Capture

βœ¨πŸš€Full-stack forum website built with MERN Stack (ReactJS, NodeJS, ExpressJS, MongoDB).βœ¨πŸš€

Live Demo


β˜„ Features β˜„

  • User authentication using JSON Web Tokens (JWT) with BFF (Backend-For-Frontend) security pattern.
  • Allow users to create, read and delete topics.
  • Allow users to create, read and delete comments.
  • Allow users to create, read and delete replies.
  • Search engine for searching topics supported with sorting filters.
  • Allow users to upvote and downvote topics and comments.
  • Allow users to see their published comments, created topics, upvoted topics, their following list and their followers list.
  • Allow users to reset their account password if they forgot it.
  • Nested comments threading.
  • Homepage feed (Front Page).
  • Allow users to follow each other.
  • Allow users to edit their profile informations and change their profile avatar and cover.
  • Users can't access their account after signin-up till they activate it from the link sent to the email associated with their account.
  • Sending users an email in case they request a password reset or an email verification.
  • ... And more to come with next updates!

πŸ’» Used Technologies πŸ’»

  • ReactJS
  • ExpressJS
  • NodeJS
  • MongoDB
  • Redux
  • Redux Toolkit
  • React Bootstrap

❓ How to use ❓


1- Clone this repo.

git clone https://github.com/ilyasbelfar/ONetwork-Forum.git
cd ONetwork-Forum

2- Install Client dependencies.

cd client/
npm i

3- Install Server dependencies.

cd server/
npm i

4- Configure environment variables by creating .env file in the server directory and copy the content of env.example file in .env file, and fill it with your own secrets.

cd server/
cp env.example .env

5- Create a MongoDB database and name it 'my_app', You can use MongoDB Atlas cloud free tier.

6- Start server.

cd server/
npm start

7- Start client in another terminal while the server is running.

cd client/
npm start

πŸ“Œ Other πŸ“Œ


I encourages contributions! Feel free to discuss any bug fixes/features in the issues section. And if you wish to work on this project:

  1. Fork this project
  2. Create a branch (git checkout -b new-branch)
  3. Commit your changes (git commit -am 'add new feature')
  4. Push to the branch (git push origin new-branch)
  5. Submit a pull request!