Population Report Access System
Case Study: Population Report Access System
01. The Overview
Tasked with a multiphase group project, our team designed and implemented a reporting system to allow analysts to explore global demographic data from a provided MySQL database. As the Scrum Master, I led a team of four, managing our sprint cycles, technical debt, and final delivery.
- Role: Scrum Master & Lead Developer.
- Tech Stack: Java 17, MySQL, Docker, Thymeleaf, and GitHub Actions.
- Key Achievement: Implemented an unrequested GUI using Thymeleaf, which significantly increased our final assessment marks.
02. The Challenge
The core challenge was coordinating a team with varying levels of experience to deliver 30+ specific demographic reports. We needed to maintain a high-velocity Scrum workflow while ensuring that complex SQL joins and a hybrid ETL-inspired data flow remained performant and accurate.
My Leadership Focus:
- Process Integrity: Scheduling stand-ups, preparing meeting agendas, and maintaining a strict Kanban board to avoid bottlenecks.
- Knowledge Sharing: Acting as a technical mentor by sharing syntax and logic patterns to help less experienced members reach project standards.
- Quality Control: Enforcing strict peer reviews—balancing flexibility in approach with a zero-tolerance policy for bugs or brief deviations.
03. Technical Implementation
Hybrid ETL Data Flow
We implemented a system that balances speed and flexibility:
- Extract: Reading from a massive world population SQL database.
- Transform: Complex SQL aggregations (continent-level splits, language percentages, and “Top N” queries).
- Load: Results streamed into a dynamic web interface or delivered via precomputed views for static totals.
The “Thymeleaf” Pivot (Beyond the Brief)
While the initial requirement focused on data retrieval, I identified an opportunity to elevate the project by building a web-based GUI.
- Solution: I quickly learned and implemented the Thymeleaf library to create a responsive interface, allowing users to query reports (e.g., “Top N cities in Country X”) visually rather than through terminal outputs.
- Impact: This move transformed the project from a CLI tool into a professional-grade analytical application, leading to exceptional marks during the final code review.
DevOps & CI/CD
We utilised a professional DevOps pipeline involving:
- Dockerisation: Self-contained JAR builds running in Docker containers.
- Automated Testing: Unit and integration tests running via GitHub Actions on every pull request.
04. Engineering Leadership
My organised attitude with attention to details was critical during the final stages of the project.
The “Emergency” Refactor: The evening before a major code review, I discovered a colleague’s SQL query returned correct data but lacked the logic for parameterised inputs required by the brief.
- Action: I logged the issue on the Kanban board, notified the team, and performed an overnight refactor to ensure we didn’t lose points for “brief deviations” during the live review.
- Philosophy: This was about protecting the team’s grade and maintaining our GitFlow integrity (Develop > Release > Main).
05. Results & Lessons Learned
The project achieved exceptional academic performance (80%+ average) across four graded code reviews.
Key Outcomes:
- Management: Successfully led a team through four assessment points, ensuring 100% readiness and on-time delivery.
- Adaptability: Proved that I can rapidly learn and deploy new technologies (Thymeleaf) under tight deadlines to add value to a product.
Future Reflection: As Scrum Master, I learned that while I value the clean code, the outcome and requirements must come first in a group setting. I successfully balanced my role as a mentor with the responsibility of a lead developer, ensuring our codebase was ready for every assessment service.