Releases: edsonesf/ATU-CSD-POKEDEX
Releases · edsonesf/ATU-CSD-POKEDEX
Release list
v2.0 — Final Project Release & Deployment
v2.0 — Final Project Release & Deployment
The project is now officially finished and live at https://pocketmonsters.fun/!
This major release marks the transition from a local prototype to a production-grade, secure, and fully automated cloud application.
Production Deployment
- Live Site: https://pocketmonsters.fun/
- AWS Infrastructure: Fully automated deployment using Terraform (ECR, ECS Fargate, ALB, Route 53 with HTTPS).
- CI/CD Pipeline: 100% automated DevSecOps pipeline delivering changes from commit to production.
New Features & Enhancements
- Interactive Pokedex UI: Modern, responsive web interface for image uploads and real-time recognition results.
- Paginated API: Added pagination and name filtering to the Pokémon list endpoints for better scalability.
- Robust Identification: Improved 503 error handling for inference failures and validated image integrity (HTTP 422).
- Memory Optimization: Rejects oversized uploads (10MB limit) before reading into memory to prevent exhaustion.
Security & DevSecOps (Sentinel)
- Hardened Image: Production Docker images are security-pinned and hardened (distroless-style) to remediate HIGH/MEDIUM vulnerabilities.
- Security-as-Code: Integrated Semgrep (SAST), pip-audit (SCA), and Trivy (Container Scanning) into the core pipeline.
- API Fuzzing: DAST (Schemathesis) integrated for dynamic security testing of endpoints.
- Attack Protection: Implemented Content Security Policy (CSP) and fixed LIKE clause wildcard injection vulnerabilities.
Quality Assurance
- Coverage: Achieved 99% test coverage across 86 unit and integration tests.
- Property-Based Testing: Integrated Hypothesis for rigorous edge-case discovery.
- Smoke Testing: Opt-in Docker smoke tests to verify production readiness before deployment.
Academic Delivery
- ADR Evolution: 36 Architectural Decision Records documented, tracing the evolution from PoC to V2.
- Multi-Agent Orchestration: Successfully leveraged and documented orchestration of multiple AI agents (Gemini CLI, Jules, Kiro, Q).
Delivered Epics & Issues
- Epic: Full Deployment (#9, #67)
- Epic: Security Hardening (#100, #99, #98)
- Major Fixes: #258 (Int Overflow), #184 (Memory), #145 (Label Validation)
Final submission for ATU CSD Project.
V1 — Pokémon Model Integration
What's in V1
The first functional release of the Pokédex Image Recognition System. Upload a photo of a Pokémon and get its name, type, and base stats back.
Delivered
- Pokémon recognition — YOLO classification model (
yolov8s-pokemon.pt) replaces the PoC cat model (yolo11n.pt) (ADR-022) - Full Pokédex database — 1,025 Pokémon (Gen 1–10) seeded from PokeAPI (ADR-023)
- Label translation layer — bridges YOLO output to canonical PokeAPI names (ADR-024)
- FastAPI
/identifyendpoint — returns Pokémon name, types, and all base stats - CI/CD pipeline — ruff, mypy, pytest gates on every PR
Known limitation
The current model covers a partial set of Gen 1 Pokémon (~110 classes). Full coverage is deferred to V2 (see ADR-025 and issue #136).