Building facebook application clone using React
and express
. This build covers the core functionality (uploading normal text, images & videos
....etc) of original facebook application. It is fully responsive and looks better in most of the devices. It includes dark/light theme toggle feature as well
Table of Contents
Live Search for other user in the system, view their profile, reacts to their post, and sending friend request or just following them
- Authentication
- Login
- SignUp
- Logout
- Tokens
- Password Management
- Change Password
- Forgot Password
- Reset Password
- Email Management
- Send Email Verification
- Send reset password code
- User
- Update personal info, upload profile image, upload cover page
- Create, remove posts, and reacts on posts
- Search for friends, Send friend requests, accept/reject friend requests, view current friends
- View friends posts in the home page
- Change from light mode to the dark one
Methods | Endpoints |
---|---|
POST | /register |
POST | /activate |
POST | /login |
POST | /sendVerification |
POST | /findUser |
POST | /sendResetPasswordCode |
POST | /validateResetCode |
POST | /changePassword |
GET | /getProfile/:username |
PUT | /updateProfilePicture |
PUT | /updateCover |
PUT | /updateDetails |
PUT | /addFriend/:id |
PUT | /cancelRequest/:id |
PUT | /follow/:id |
PUT | /unfollow/:id |
PUT | /acceptRequest/:id |
PUT | /unfriend/:id |
PUT | /deleteRequest/:id |
POST | /search/:searchTerm |
PUT | /addToSearchHistory |
GET | /getSearchHistory |
PUT | /removeFromSearch |
GET | /getFriendsPageInfos |
Methods | Endpoints |
---|---|
POST | /createPost |
GET | /getAllPosts |
PUT | /comment |
PUT | /savePost/:id |
DELETE | /deletePost/:id |
Methods | Endpoints |
---|---|
PUT | /reactPost |
GET | /getReacts/:id |
Methods | Endpoints |
---|---|
POST | /uploadImages |
POST | /listImages |
- React
- React hooks
- Redux
- Material UI
- Flexbox
- Express
- Nodejs
- JWT
- Clone the repository
git clone https://github.com/phanison898/facebook-clone.git
- Navigate to the cloned directory
cd path/to/cloned/directory
- Create .env file in the backend folder with following properties and paste them
DATABASE_URL= TOKEN_SECRET= BASE_URL= EMAIL= MAILING_ID= MAILING_SECRET= MAILING_REFRESH= MAILING_ACCESS= CLOUD_NAME= CLOUD_API_KEY= CLOUD_API_SECRET=
- Create .env file in the frontend folder
REACT_APP_BACKEND_URL=
- Install node packages
npm install
- Start the development server
npm start
- Happy learning 😊
- Please consider to star ( ⭐ ) this repo. It'll boost my confidence