Skip to contentSkip to content
Verified credentials. On-chain. Forever.Learn more
Cover image for Build a Plugin-Based Notification Framework With Observer + Factory
Code

Build a Plugin-Based Notification Framework With Observer + Factory

FreeVerified credential3 weeksIntermediate

Overview

What this challenge is about.

Implement, in Java 21: an EventBus that supports typed subscriptions, a NotificationChannel interface with concrete subtypes (Push, Email, InApp, SMS), an AbstractChannelFactory that instantiates channels per user-preference profile, and 4 event-type-to-channel default mappings. Add user-level overrides (a user can mute SMS but keep Push). Demonstrate adding a 5th channel (WhatsApp) without modifying the bus. Provide fakes for all 4 channels for tests. Deliver: code + Maven project, JUnit 5 suite with 85 percent coverage, 5-page design doc with UML, and a walkthrough adding the WhatsApp channel.

CredentialBlockchain-anchored
ShareableLinkedIn-ready
LanguageEnglish
PaceSelf-paced

The Brief

What you'll do, and what you'll demonstrate.

Build a plugin-based notification framework using Observer and Abstract Factory that supports adding new channels without modifying core code.

Earning criteria — what you'll demonstrate

  • Implement Observer with typed subscriptions in modern Java
  • Apply Abstract Factory for per-profile channel instantiation
  • Design for Open/Closed by registration, not modification
  • Build fakes that let tests run without external dependencies

Program Fit

Where this fits in your program.

Sharpens the same skills your degree expects you to demonstrate.

Skills

Skills you'll demonstrate.

Each one shows up on your verified credential.

Careers

Roles this prepares you for.

Real titles. Real skill bridges. Pick the one closest to your trajectory.

Career mappings coming soon.

One more thing

You can put a credential on your CV by Friday.