Apply SOLID to a Java Reporting Service for a Renewable Energy Startup
Overview
What this challenge is about.
Refactor a Java reporting service with SOLID, maintain 22 test fixtures, and write a design doc. Earn a verifiable certificate.
The scenario
The startup (Series A, around 40 wind-farm clients, growing the report catalog every quarter) cannot afford a new report being 2 days of switch-case surgery anymore.
The Brief
What you'll do, and what you'll demonstrate.
Refactor a Java reporting service applying SOLID principles to enable plugin-style addition of new report types without modifying the core.
Earning criteria — what you'll demonstrate
- Apply each of the 5 SOLID principles on a real codebase
- Use dependency injection to invert control of report dependencies
- Extract interfaces that consumers actually need
- Validate a refactor with fixture-based parity testing
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.
- Solid Principles
Apply solid principles to solve real industry problems and demonstrate production-level capability.
- Refactoring
Apply refactoring to solve real industry problems and demonstrate production-level capability.
- Dependency Injection
Apply dependency injection 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.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles: