Luca Sacchi Ricciardi
ebefc323c3
feat(backend): implement database layer with models, schemas and repositories
...
Complete backend core implementation (BE-001 to BE-005):
BE-001: Database Connection & Session Management
- Create src/core/database.py with async SQLAlchemy 2.0
- Configure engine with pool_size=20
- Implement get_db() FastAPI dependency
BE-002: SQLAlchemy Models (5 models)
- Base model with TimestampMixin
- Scenario: status enum, relationships, cost tracking
- ScenarioLog: message hash, PII detection, metrics
- ScenarioMetric: time-series with extra_data (JSONB)
- AwsPricing: service pricing with region support
- Report: format enum, file tracking, extra_data
BE-003: Pydantic Schemas
- Scenario: Create, Update, Response, List schemas
- Log: Ingest, Response schemas
- Metric: Summary, CostBreakdown, MetricsResponse
- Common: PaginatedResponse generic type
BE-004: Base Repository Pattern
- Generic BaseRepository[T] with CRUD operations
- Methods: get, get_multi, count, create, update, delete
- Dynamic filter support
BE-005: Scenario Repository
- Extends BaseRepository[Scenario]
- Specific methods: get_by_name, list_by_status, list_by_region
- Business methods: update_status, increment_total_requests, update_total_cost
- ScenarioStatus enum
- Singleton instance: scenario_repository
All models, schemas and repositories tested and working.
Tasks: BE-001, BE-002, BE-003, BE-004, BE-005 complete
2026-04-07 14:20:02 +02:00
Luca Sacchi Ricciardi
216f9e229c
feat(database): seed AWS pricing data
...
Populate aws_pricing table with real AWS pricing for:
Services:
- SQS: /bin/bash.40 per million requests
- Lambda: /bin/bash.20 per million requests + /bin/bash.0000166667 per GB-second
- Bedrock Claude 3 Sonnet: /bin/bash.003 input / /bin/bash.015 output per 1K tokens
Regions:
- us-east-1 (N. Virginia)
- eu-west-1 (Ireland)
Total: 10 pricing records inserted
Task: DB-007 complete
All database tasks (DB-001 to DB-007) now complete!
Next: Backend team can proceed with SQLAlchemy models and repositories.
2026-04-07 13:55:30 +02:00
Luca Sacchi Ricciardi
26fb4a276f
feat(database): create all core tables with migrations
...
Add database migrations for mockupAWS v0.2.0:
- DB-003: scenario_logs table
* Stores received log entries with SHA256 hash for deduplication
* PII detection flags
* Metrics: size_bytes, token_count, sqs_blocks
* Indexes on scenario_id, received_at, message_hash, has_pii
- DB-004: scenario_metrics table
* Time-series storage for metrics aggregation
* Supports: sqs, lambda, bedrock, safety metric types
* Flexible JSONB metadata field
* BRIN index on timestamp for efficient queries
- DB-005: aws_pricing table
* Stores AWS service pricing by region
* Supports price history with effective_from/to dates
* Active pricing flag for current rates
* Index on service, region, tier combination
- DB-006: reports table
* Generated report tracking
* Supports PDF and CSV formats
* File path and size tracking
* Metadata JSONB for extensibility
All tables include:
- UUID primary keys with auto-generation
- Foreign key constraints with CASCADE delete
- Appropriate indexes for query performance
- Check constraints for data validation
Tasks: DB-003, DB-004, DB-005, DB-006 complete
2026-04-07 13:53:07 +02:00
Luca Sacchi Ricciardi
6f03c33ab5
feat(database): setup alembic and create scenarios table
...
- Install alembic and asyncpg for database migrations
- Configure alembic for async SQLAlchemy 2.0
- Create initial migration for scenarios table:
* UUID primary key with auto-generation
* Status enum (draft, running, completed, archived)
* JSONB tags with GIN index
* Timestamps with auto-update trigger
* Check constraints for name/region validation
* Indexes on status, region, created_at
- Test database connection and migration
Task: DB-001, DB-002 complete
2026-04-07 13:48:05 +02:00
Luca Sacchi Ricciardi
18ce380a6d
docs: add team kickoff prompt for Fase 1 development
2026-04-07 13:11:49 +02:00
Luca Sacchi Ricciardi
cd6f8ad166
docs: complete architecture specifications and project planning
...
Add comprehensive technical specifications for mockupAWS v0.2.0:
- export/architecture.md: Complete system architecture with:
* Layered architecture diagram (Client → API → Service → Repository → DB)
* Full database schema with DDL SQL (5 tables, indexes, constraints)
* API specifications (OpenAPI format) for all endpoints
* Security architecture (auth, PII detection, rate limiting)
* Data flow diagrams (ingestion, cost calculation, state machine)
* Technology stack details (backend, frontend, infrastructure)
* Project structure for backend and frontend
* 4 Architecture Decision Records (DEC-001 to DEC-004)
- export/kanban.md: Task breakdown with 32 tasks organized in:
* Database setup (DB-001 to DB-007)
* Backend models/schemas (BE-001 to BE-003)
* Backend repositories (BE-004 to BE-008)
* Backend services (BE-009 to BE-014)
* Backend API (BE-015 to BE-020)
* Testing (QA-001 to QA-003)
- export/progress.md: Project tracking initialized with:
* Current status: 0% complete, Fase 1 setup
* Sprint planning and metrics
* Resource links and team assignments
All specifications follow 'Little Often' principle with tasks < 2 hours.
2026-04-07 13:10:12 +02:00
Luca Sacchi Ricciardi
ab4c537c16
feat: add complete development team configuration
...
Add specialized agent configurations for mockupAWS development:
- @spec-architect: Software architect and specification lead
- @db-engineer: PostgreSQL schema and Alembic migrations
- @backend-dev: FastAPI development and services
- @frontend-dev: React dashboard and UI components
- @devops-engineer: Docker and CI/CD setup
- @qa-engineer: Testing strategy and E2E tests
Update prompt-zero.md with complete team and project structure.
Add prompt-team-standup.md for team kickoff and coordination.
Each agent has detailed configuration with:
- Role and responsibilities
- Technical stack
- Scope and constraints
- Output requirements
- Communication style
2026-04-07 12:58:53 +02:00
Luca Sacchi Ricciardi
59e5cf48f0
feat: initial project setup with scenarios, database and web ui
...
Add complete mockupAWS platform for AWS cost estimation:
- FastAPI backend with scenario management
- PostgreSQL database schema for scenarios, metrics, logs
- AWS pricing table with real pricing data
- React frontend dashboard (planned)
- PII detection and token counting
- Report generation (PDF/CSV)
- Complete test suite with pytest
- Docker Compose setup
- Documentation: README, PRD, Architecture
- OpenCode configuration (.opencode/)
2026-04-07 12:52:18 +02:00
Luca Sacchi Ricciardi
b539134280
first commit
2026-04-07 11:27:03 +02:00