Time to get social. Isn’t it ? Then why wait. Get Started now. Finally, Dubify is here to help you get connected with the world providing an easy to use environment with an amazing interface, meeting all your needs like posts creating, sharing, comments, likes, adding and viewing stories, managing personal information and much more waiting to be discovered. Bored with the regular theme ? Don’t Worry. Dark Mode is ready for you.
-
Login-SingUp pages:
- Registeration of new users.
- Login A register user.
- Send Password reset email using SMTP service.
- Verification of user's email using SMTP service.
-
Posts - features:
- Adding, Deleting and Editing.
- Can contain text and image both.
- Likes and Comments.
- Resharing the posts.
- Follow/Unfollow a user.
-
Personalised Dashboard for :
- Viewing Posts and related Activities.
- Search people registered on Dubify.
- Viewing upcoming events.
- My-Contact list.
- Connection suggestions.
- Follow/Unfollow a user.
- See Trending Info and play games
-
Stories Page :
- Add your story
- See like and view count on ohter's story.
- View Others stories and like them
-
Profile Page:
- View and Edit personal info and profile pic.
- See Users Stats like followers, following, Total Posts and likes count.
- All the users posts are shown which can be edited and deleted by user.
-
Dark/Light Theme.
-
Hamburger Icon (for mobile and tablets).
-
Auth Route(auth/)
- signUp -> Registeration of user.
- login -> Authentication of user.
- forgotPassword -> Send a JWT Token valid for 10 minutes on user's registered email.
- verifyEmail -> Recevies a JWT token and if token is valid sets user verification status to true in database.
- resendVerificationLink -> Mainly used to JWT Token when the earlier JWT Token expired.
- logout -> Set logged in status to false in database.
-
Profile Route(user/)
- getUserinfo -> Fetch user information from database using user's id as key.
- updateName -> Make a PUT request at database to update user's name.
- updatePassword -> Make a PUT request at database to update user's password.
- updateProfilePhoto -> Make a PUT request at database to update user's Profile Picture.
-
Feed Route(feed/)
- addPost -> Make a query at database to add a post.
- getUserPost -> Query to fetch all post made by a particular user.
- editUserPost -> Make a PUT request at database to update already existing post.
- deleteUserPost -> Deletes a user's post.
- getFollowingPosts -> Fetch post all the people the user is following.
- updateLike -> Update Like Count on a post.
- sharePost -> Query to share a post by other users.
- commentPost -> Adds comments on a post.
- getAllPostComment -> Fetch all comments on a post.
- isLiked -> Check if a post is liked by particular user.
- getPostById -> Fetch a post using post id.
-
Follower Route(friend/)
- getFollowing -> Fetch the list of following users.
- getUserList -> Get List of all registered users.
- getSuggestionList -> Get suggestions list for each users.
- addFollowing -> Allow a user to follow other users.
- removeFollowing -> Allow user to unfollow other users.
-
Story Route(story/)
- getStoryList -> Fetch the stories that are currently active.
- addStory -> Add user's story to database.
- getUserStory -> Fetch the user's story if uploaded.
- updateLikeStory -> Update like on a story image.
- updateViewStory -> Increase view on user's story.
- Node Js
- Express
- JWT
- Bcrypt Js
- Dotnev
- Firebase SDK
Clone the frontend and backend repositories, cd into them individually, and then follow the below mentioned steps for setting up backend and frontend separately.
Frontend:
- Fork the repository.
- Clone the repository (git clone https://github.com/arun-kushwaha04/Social-Media-Application-Frontend.git).
- Open the folder in which you cloned the repository.
- Setup your backend using the below mentioned steps. Now you can either deploy your backend separately and use the hosted link or run locally and use that respective link.
Backend:
- Fork the repository.
- Clone the repository (git clone https://github.com/arun-kushwaha04/Social-Media-Application-Backend.git).
- Open the folder in which you cloned the repository.
- Run *npm install*.
- Create a .env file.
- Now you can run 'npm run dev' and start working locally.
Database:
Check Database Queries for all table queries.
Create .env file (keys):
- SALT_ROUND
- SECRET_KEY
- DATABASE_URL
- DOMAIN //used for SMTP Service
- KEY //used for SMTP Service
//Firebase project details
- API_KEY
- AUTH_DOMAIN
- PROJECT_ID
- STORAGE_BUCKET
- MESSAGING_SENDER_ID
- APP_ID
- MESUREMENT_ID