Skip to content

Releases: edsonesf/ATU-CSD-POKEDEX

v2.0 — Final Project Release & Deployment

Choose a tag to compare

@edsonesf edsonesf released this 20 May 00:16

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

Choose a tag to compare

@edsonesf edsonesf released this 29 Apr 21:31
147a735

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 /identify endpoint — 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).

Closed issues

#6 (Epic), #40, #41, #42, #43, #44