Post

Lazy Bird - Project Management - Broken System 1 - Employee Directory

Lazy Bird - Project Management - Broken System 1 - Employee Directory

🎯 Project Planning Session Overview

We successfully planned the development of the Lazy Bird Broken System 1: Employee Directory - the first broken system in the educational project repository designed to teach database indexing optimization through hands-on experience.

πŸ“‹ Key Decisions Made

System Architecture

  • Backend: FastAPI (Python) with SQLAlchemy ORM
  • Frontend: React with TypeScript
  • Database: PostgreSQL
  • Deployment: Docker Compose setup for easy one-command startup
  • Learning Focus: Single performance issue - missing database indexes on search columns

Learning Approach Strategy

  • Single Branch Strategy: Only maintain the broken system (Documentation-Only Solution)
  • No Solution Code: Candidates must diagnose and fix the problem themselves using standard database tools
  • Realistic Learning: Forces genuine understanding rather than copying pre-written solutions

Frontend Design Philosophy

  • Minimal UI: Focused solely on showcasing backend performance issues
  • No Complex Dashboards: Candidates use standard database tools (psql, pgAdmin) for query analysis
  • Core Components: Search interface + performance timing display only

πŸ“ DETONADO Standard Established

Created the standardized format for optimization guides across all future broken systems:

  1. 🎯 Learning Objective - What specific concept this system teaches
  2. πŸ” Problem Identification - How to recognize the issue
  3. πŸ› οΈ Diagnosis Tools - Commands/techniques to analyze the problem
  4. 🧠 Root Cause Analysis - Understanding why the problem exists
  5. ⚑ Solution Implementation - Step-by-step fix instructions
  6. βœ… Verification - How to confirm the fix worked
  7. πŸ“Š Expected Results - Specific performance improvements
  8. 🚨 Troubleshooting - Common issues and solutions

πŸ“‹ Complete Development Backlog

Generated 13 GitHub Issues organized across key development areas:

Infrastructure & Setup (1 issue)

  • Setup Docker Compose Environment

Backend Development (5 issues)

  • Create PostgreSQL Database Schema (intentionally missing indexes)
  • Create Employee Data Seeding Script (10,000+ records)
  • Implement FastAPI Backend Setup
  • Create Employee Search Endpoint (the slow, problematic query)
  • Add Query Performance Timing (to showcase the problem)

Frontend Development (3 issues)

  • Create React Frontend Setup
  • Build Employee Search Interface
  • Add Performance Timing Display

Testing & Validation (2 issues)

  • Create Solution Validation Tests
  • Performance Baseline Tests

Documentation (2 issues)

  • Create Project README
  • Create DETONADO Guide (following standardized template)
This post is licensed under CC BY 4.0 by the author.