Full walkthrough video of this project - https://youtu.be/s7SPGE-qIiA?si=m6LxpbyuUsM8Nm1k
Tech Stack : React.js, Node.js, Express.js, JAVA, SQL, Rest API, MySQL, MongoDB
• Created a fully functional social media website where users can create accounts and then log in. Users can upload, edit, and delete posts. Users can like, comment on posts, search other users, and can follow them and can view whom they are following or who are followers of them. Users also can engage in 1v1 chats.
• Every user will have a newsfeed, generated by user-favourite tags. User-favorite tags are those tags that the user generally loves to add to his/her posts.
• Implemented Socket.IO to have a real-time updation in like and comment box without reloading the page.
• Integrated a system to Push notifications to all active users in real-time by maintaining a persistent connection between client and server using Socket.IO.
• Added a feature for users to search for other users efficiently, and achieved logarithmic search time. This was done by implementing Binary search on local storage to have a log(n) search time and incorporated Horizontal partitioning and indexing in the database to further reduce search time.
• Utilized Cropper.js to provide cropping and zooming features for images before they are uploaded as profile photos.
• Also implemented a real-time chatting system to have seamless communication between users.