This project aims to replicate the basic functionality of a social media app. The codebase is written in TypeScript, providing a clean and structured approach for both the backend and frontend(Work in progress).
The project is divided into two main components:
- Backend: Developed using Node.js, Express, and MongoDB for handling server-side logic and data storage.
- Frontend: Work in progress
- Mobile App: A mobile app built with flutter.
Check out the live demo of the Social Media App here yet to deploy the app
- Register: User registration with Zod validation for input data.
- Login: Authentication for existing users.
- Upload post: Endpoint for creating and saving posts.
- Get Posts: Endpoint getting posts with filter and limit.
- Get Posts by user: Endpoint getting posts by user with filter and limit.
- like Post: Endpoint to like a post.
- Upload comment: Endpoint for creating and saving commet.
- Get comments by post: Endpoint getting comments for a specific post with filter and limit.
- like comment: Endpoint to like a comment.
- Update user: Endpoint to update user.
- get current user details: Endpoint to get current login user details.
- get public user details: Endpoint to get public profile details of any user on platform.
- send friend request: Endpoint to send friend request.
- unfriend request: Endpoint to send unfriend request.
- accept friend request: Endpoint to accept friend request.
- reject friend request: Endpoint to reject friend request.
- start chat: Endpoint to start chat with a friend.
- send message: Endpoint to send a message in a chat.
- get realtime feedback(typing, online, sent, seen): using socket.io giving feedback to users in realtime.
- Refresh token mechanism: to make app more user friendly.
- Login and Register Pages: User authentication interfaces. (work in progress)
Refer to the individual README.md files in the backend
and frontend
folders for detailed instructions on setting up and running each component.
Feel free to reach out if you have any questions or feedback. Happy coding!