Design a notification system for a social application, initially focused on notifying followers when an author publishes a new post. The system should remain extensible enough to support additional notification event types later without requiring a major structural redesign.
Publishing a post and delivering follower notifications are separate operations. A post should be considered successfully published once it has been durably saved and the corresponding…