This project is a clone of the popular social media platform, Facebook, built using the MERN stack (MongoDB, Express.js, React.js, Node.js, and Socket.io) With real time Messages and notifications 🔥.
https://github.com/msobkyy/backbook
- ReactJS, NodeJS, ExpressJS, MongoDB.
- Redux toolkit store to setup a global store.
- Fully responsive design with all devices.
- Strong authentication system, Register, login, reset password.
- Cookies and JSON web tokens (JWT).
- Real time notifications
- Notification history
- Browser notifications
- Real time Messages between users
- Online status
- Typing indicator
- Customize chat themes and name
- Group chats
- Add and Remove group members by admin only
- Email verification by sending mail to users using gmail smtp.
- Search by email and send code to email to change the password.
- Form validations using Formik, Yup, error massages.
- Browser notification using firebase cloud messaging.
- infinite posts scroll.
- Create posts : normal text, background, photos.
- React system on posts : (like, love, wow, sad, angry).
- Post Comments with text and upload photos and comment likes.
- Comments replies.
- Share posts with caption or without.
- Delete posts.
- Friendship system with send, cancel ,accept friend requests.
- Following system with follow, unfollow another users.
- Friends page to see the sent and recived friend requests.
- Search functionality to another users.
- Search history by date.
- Upload profile picture, cover and ability to Crop, zoom the photo.
- Photo Gallery with old photos to change pfp and cover.
- Profile details and bio.
- Light/dark mode toggle.
- Skeleton loaders while page loads.
- Clone the repository
git clone https://github.com/msobkyy/backbook-server.git- Install the dependencies
npm install- Start the server
npm startTo deploy this project run
npm run buildTo run this project, you will need to add the following environment variables to your .env file
REACT_APP_BACKEND_URL=
APP_NAME=
FRONTEND_URL=
NODE_ENV=
PORT=
USER=
DATABASE_PASSWORD=
DATABASE=
JWT_SECRET=
JWT_EXPIRES_IN=
JWT_COOKIE_EXPIRES_IN=
EMAIL_TYPE=
GMAIL_APP_PASSWORD=
EMAIL_ID=
MAILLING_ID=
MAILLING_SECRET=
MAILLING_REFRESH_TOKEN=
CLOUDINARY_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
FCM_SERVER_KEY=
I'm a MERN Stack Developer
Client: React, Redux
Server: Node, Express, mongoose













