This project is a comprehensive blog platform that offers various features for user interaction and content management.
- Authentication: Secure Login, Sign-up, and Password reset via email.
- Sign in with Google Seamlessly log in or sign up using your Google account for enhanced convenience and security.
- Remember me: Stay logged in across sessions with a secure "Remember Me" option, ensuring easy access while maintaining data privacy.
- Profile Management: Personalize settings, add, remove, and edit posts.
- Social Interaction: Follow other users and view the list of followed users on your profile.
- Post Management: Add, remove, and edit posts with an editor with many features (heading 1, heading 2, text, italic, bold, lists, code blocks)
- Top Post: The top post is prominently displayed in a large section.
- Search Functionality: Easily search for posts.
- Trending Posts: Highlight posts with the most claps.
- Explore Topics: Discover various topics.
- Latest Posts: Stay updated with the newest posts.
- View posts specific to a selected topic.
- Clap Feature: Engage with posts by clapping for them.
- Comments:
- Author:
- Cannot create a comment on their own post.
- Can reply to any comment on their own post.
- User:
- Can comment on any post.
- Cannot reply to comments made by other users; they can only reply to their own comments.
- Cannot delete their main comment if it has at least one reply.
- Clapping:
- Users can clap for any comment.
- The comment with the most claps is highlighted as the "Top Comment.".
- This structure adds depth to user interaction, allowing engagement through comments and a voting system while maintaining boundaries for authors and users regarding comment management.
- Author:
- Users receive notifications when someone follows them, replies to their comments, or comments on their posts.
- Each notification is accompanied by a sound alert, ensuring that users stay engaged and informed about interactions on their content.
This project uses the MVC (Model-View-Controller) architecture for structured and organized code management.
Explore, interact, and share your thoughts with the community!