A Social Media Application to share Tweets, meet new People and interact with creative minds.
How to run the app locally?
$ git clone https://github.com/tushartiwari7/social.git
$ cd social
$ npm install
$ npm start
Authentication (Login, Signup) Pages
Home Page
Explore Page
Bookmarks Page
Profile Page
Single Tweet Page
Connections - Followers/Followings page
Authentication using JWT along with form validation for Login and Signup Pages.
User can perform CRUD operations on his own Tweets and Comments.
JPG/PNG Images less than 2MB can be attached with Tweets.
User can like or unlike any Tweet.
User can add or remove post from bookmarks .
Home Page where user can see their tweets and the tweets of friends followed by user .
Explore Page where all the posts will be visible.
Sort the Tweets by either Trending, Latest or Oldest on Home, Explore and Profile Page.
Bookmarks Page where all the posts bookmarked by user will be visible.
Profile Page where user can edit their profile . It contains details like Avatar, Bio, Location, Followers, Followings and Portfolio URL .
Persist User State on reload - Login once and it's enough.
User can follow or unfollow other users from Profile Page, Suggestions, Followers & Followings Page.
User can view the Profile, Followers/Followings of any user.
Search Users by their First Name/ Last Name.
Suggestions with Follow Switch on all pages.
User can view all the comments of the post on the Individual Tweet Page.
User can comment on Tweet, some other comment's or comment on comment and so on.
Loader is shown while the Data is fetched, it can be Tweets, Comments etc.
Alerts in the app to notify the users about success/failure operations.
All the screens are Responsive.
Frontend: React + TypeScript
State Management: Redux Toolkit
Design Library: Ant Design
Database Management: MongoDB
Backend: Node, ExpressJS
Image Storage: Cloudinary
Auto Formatter: Prettier
IDE: VS Code
Untitled.design.2.mp4
Untitled.design.3.mp4