Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ajay-gathadi/Notification-System

Repository files navigation

Social Media Notification System Simulation

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.

Features

  • 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

📋 Prerequisites

  • Java 21
  • Gradle 8.5

Information

Developed with the help of Claude AI

Design Patterns Used

  • Observer Pattern: For real-time notifications
  • Strategy Pattern: For content recommendation algorithms
  • Factory Pattern: For creating notification handlers

Notification Types

  • PUSH: Push notifications
  • EMAIL: Email notifications
  • SMS: SMS notifications
  • IN_APP: In-app notifications

Event Types

  • 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

Architecture Benefits

  • 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

About

A real-time simulation of Social media notification system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages