# Story 1.1: Khởi tạo Hạ tầng Dự án & Cơ sở Dữ liệu (Project Infrastructure & Database Init) **Status:** done **Epic:** Epic 1 **Story Key:** `1-1-project-infrastructure-database-init` ## 📖 Story Requirements (Context & PRD) > This section maps directly to the original Product Requirements Document and Epics definition. As a Kỹ sư Hệ thống, I want thiết lập bộ khung Next.js, FastAPI, và cấu hình Docker-compose cho Postgres/Redis/ZeroServer, So that toàn bộ nền tảng có thể khởi chạy môi trường phát triển (Dev Environment) một cách nhất quán cho tất cả các team. **Acceptance Criteria:** **Given** môi trường dự án mới **When** chạy lệnh `docker-compose -f docker/docker-compose.dev.yml up -d` **Then** các containers Postgres 16 (với pgvector), Redis, Zero-Server, FastAPI, và Next.js khởi tạo thành công **And** database tự động migrate được schema ban đầu bao gồm bảng `users` với quy tắc `snake_case`. ## 🏗️ Architecture & Technical Guardrails > Critical instructions for the development agent based on the project's established architecture. ### Technical Requirements - Language/Framework: React, Next.js (TypeScript) for Web; FastAPI (Python) for Backend. - Database: Prisma/Supabase. - Strict Type checking must be enforced. No `any` types. ### Code Organization This story is currently marked as `done`. Implementation should target the following components/files: - `surfsense_backend/app/connectors/dropbox/client.py` - `surfsense_backend/app/schemas/incentive_tasks.py` - `surfsense_backend/app/utils/proxy_config.py` - `surfsense_web/components/chat-comments/comment-panel-container/comment-panel-container.tsx` - `surfsense_web/components/tool-ui/write-todos.tsx` - `surfsense_web/components/shared/image-config-dialog.tsx` - `surfsense_backend/app/users.py` - `surfsense_web/components/ui/dropdown-menu.tsx` ### Developer Agent Constraints 1. **No Destructive Refactors**: Extend existing modules when possible. 2. **Context Check**: Always refer back to `task.md` and use Context7 to verify latest SDK usages. 3. **BMad Standard**: Update the sprint status using standard metrics. ## 🧪 Testing & Validation Requirements - All new endpoints must be tested. - Frontend components should gracefully degrade. - Do not introduce regressions into existing user workflows. ## 📈 Completion Status *(To be updated by the agent when completing this story)* - Start Date: _____________ - Completion Date: _____________ - Key Files Changed: -