Build a Plugin-Based Notification Framework With Observer + Factory
Overview
What this challenge is about.
Build an event bus with typed subscriptions and notification channels in Java 21. Add a WhatsApp channel without modifying the bus. Earn a verifiable certificate.
The scenario
The EdTech (bootstrapped, 60 percent gross margin, growing 12 percent month-over-month) cannot afford a notification system where adding a channel is a 2-week project.
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.
Object-Oriented Programming and Design
Bachelor · Programming Languages
Strong alignment
This challenge maps to Object-Oriented Programming and Design at the Bachelor level. It sharpens the same practical skills your coursework expects — but in a real industry context with actual constraints and deliverables.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Java
Apply java to solve real industry problems and demonstrate production-level capability.
- Design Patterns
Apply design patterns to solve real industry problems and demonstrate production-level capability.
- Oo Design
Apply oo design to solve real industry problems and demonstrate production-level capability.
- Interfaces
Apply interfaces to solve real industry problems and demonstrate production-level capability.
- Unit Testing
Apply unit testing to solve real industry problems and demonstrate production-level capability.
- Extensibility
Apply extensibility to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles: