A real-time simulation of the notification system that listens to social media platforms and sends notifications to users via email, SMS, or push notifications. This system demonstrates the use of design patterns such as Observer, Strategy, and Factory to manage notifications and user activities.
- Real-time Notifications: Push, Email, SMS, and In-App notifications
- Event-driven Architecture: Observer pattern for loose coupling
- Content Recommendations: Strategy pattern for different recommendation algorithms
- User Activity Tracking: Monitor posts, likes, follows, and comments
- Dynamic Handler Management: Enable/disable notification channels at runtime
- Java 21
- Gradle 8.5
Developed with the help of Claude AI
- Observer Pattern: For real-time notifications
- Strategy Pattern: For content recommendation algorithms
- Factory Pattern: For creating notification handlers
- PUSH: Push notifications
- EMAIL: Email notifications
- SMS: SMS notifications
- IN_APP: In-app notifications
- POST_CREATED: New Post creation
- POST_LIKED: Post liked by a user
- USER_FOLLOWED: User followed another user
- COMMENT_ADDED: Comment added to a post
- Scalability: Easily add new notification types and recommendation strategies
- Maintainability: Clear separation of concerns with design patterns
- Flexibility: Dynamic enabling/disabling of notification channels
- Testability: Easy to mock and test individual components