Here's a high-level overview of the features I might want to implement:
-
User Authentication: Users should be able to register and log in. Done.
-
Likes: Users should be able to "like" posts. You'll need to keep track of which users have liked which posts to prevent a user from liking a post multiple times.
-
Search with Pagination: Users should be able to search for posts and the results should be paginated. This will involve adding a search endpoint to your API and implementing pagination for the search results.
-
Followings: Users should be able to follow other users. You'll need to keep track of which users are following which users. This will involve adding endpoints to your API for following and unfollowing users, and for getting a user's followers and followings. Done
-
Bookmarks: Users should be able to bookmark posts. You'll need to keep track of which users have bookmarked which posts. This will involve adding endpoints to your API for bookmarking and unbookmarking posts, and for getting a user's bookmarked posts. Done
-
User Details: Users should be able to add more details to their profile, such as a profile picture. This will involve adding endpoints to your API for updating a user's profile and for uploading a profile picture.
-
File Uploads: Users should be able to upload files. This will involve adding an endpoint to your API for file uploads. You'll need to handle storing the uploaded files and serving them when requested.