All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 2m53s
- STATUS.md: header Phase 7 + 3 row Recently Done (Budget BE / 14 users / Docs cleanup) + cumulative cột mới (51 tables / 14 mig / ~124 endpoints) - HANDOFF.md: TL;DR session 4 (2 milestone Budget BE + 14 users) + Cảnh báo session 5 + Priority 0 (FE Budget + PE/HD integration + PE feature gap) + Credentials 30 user - migration-todos.md: Phase 7 thêm section D Budget done + Phase 8 mới (FE Budget pages + integration) + pending migrations Budget - architecture.md: §10 Budget module mới (ERD + state machine + auto-recompute + integration roadmap) - database/schema-diagram.md: migration history rows 13+14 + §12 Budget ERD chi tiết - ef-core-migration SKILL: migration 14 entry + Phase 8 pending Budget refinement - CLAUDE.md root + docs: modules table thêm Budget row + scope Budget + count 51 bảng / 14 mig - Session log 2026-04-28-chot-session-4-budget.md (10+ section detailed) Stats: 51 tables (+4 Budget), 14 migrations (+AddBudgets), ~124 endpoints (+11 Budget), 30 demo user (16 sample + 14 Solutions thật), 38 gotchas, ~340 LOC Budget CQRS. FE Budget pages chưa làm — Priority 0 session 5. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.7 KiB
6.7 KiB
CLAUDE.md — AI Agent Context
Full content:
docs/CLAUDE.md
SOLUTION_ERP — Hệ thống Quản lý Hợp đồng Nhà cung cấp / Thầu phụ / Tổ đội + Phiếu Duyệt NCC tiền-HĐ cho Công ty TNHH Xây dựng Solutions.
Kiến trúc: .NET 10 Clean Architecture + 2 React FE (admin + user) + SQL Server + IIS.
🚀 BẮT ĐẦU SESSION — 5 file đọc trước tiên
1. docs/STATUS.md ← Snapshot HIỆN TẠI (phase nào, việc gì đang làm — PE module CÒN CHỈNH NHIỀU)
2. docs/HANDOFF.md ← Brief 5 phút: session trước làm gì + cảnh báo session tiếp
3. docs/PROJECT-MAP.md ← Bản đồ toàn cảnh
4. docs/changelog/migration-todos.md ← Atomic tasks theo phase (Phase 7 PE refinement mới)
5. docs/workflow-contract.md ← ⭐ State machine 9 phase HĐ — base pattern cho PE workflow
⚡ Quick Rules
Backend — .NET 10 Clean Architecture
- Solution:
SolutionErp.slnxở root, projects ởsrc/Backend/ - 4 layer:
Api → Application ← Domain+Infrastructure → Application - Pattern: CQRS + MediatR, FluentValidation, AutoMapper
- Repository qua
IApplicationDbContextinterface (Application layer) - Auth: JWT Bearer + ASP.NET Identity
- DB: SQL Server (LocalDB dev / SQL Server prod), EF Core 10 Code-First migrations
- Error handling:
GlobalExceptionMiddlewaremap exception → HTTP status - Commit scope tech stack:
Api·App·Domain·Infra
Frontend — 2 app React 18 + Vite + TS + shadcn/ui + TanStack Query
fe-admin/(port 8082) ·fe-user/(port 8080)- Vite proxy
/api → http://localhost:5443(SolutionErp.Api) - Named export, không default export (trừ
App) - shadcn/ui copy-paste, duplicate giữa 2 app là CÓ CHỦ ĐÍCH (mỗi app UX riêng)
- Auth context:
solution-erp-admin-token/solution-erp-user-tokenởlocalStorage - TanStack Query cho data fetching
- Node pin
>=20trongengines; CI pin20.xqua.nvmrc(bài học NamGroup — KHÔNG dùng Node latest trên CI) - UI 100% tiếng Việt
Database conventions
- Schema:
dbo(single schema) - Table: PascalCase tiếng Anh (Contracts, Suppliers, Projects, ContractApprovals, PurchaseEvaluations, ...)
- PK:
Id(Guid), FK:{Entity}Id - Audit fields:
CreatedAt,UpdatedAt,CreatedBy,UpdatedBy(BaseEntity) - Soft delete:
IsDeleted,DeletedAt,DeletedBy(AuditableEntity) - Migrations:
dotnet ef migrations add <Name> --project src/Backend/SolutionErp.Infrastructure --startup-project src/Backend/SolutionErp.Api - Hiện có 14 migration → 51 bảng (Phase 7 thêm migration 14
AddBudgets— 4 bảng + 2 cộtBudgetId?nullable trên Contracts/PurchaseEvaluations)
Modules
| Module | Namespace | Migration | Trạng thái |
|---|---|---|---|
| Contract (HĐ) | Domain/Contracts/ |
1-11 | Feature-complete (7 ContractType × 9 phase) |
| PurchaseEvaluation (Duyệt NCC tiền-HĐ) | Domain/PurchaseEvaluations/ |
12, 13 | UX polish complete — feature gap: Designer UI / Ý kiến 4 PB / Export PDF |
| Budget (Ngân sách dự án) | Domain/Budgets/ |
14 | BE done — FE pages chưa làm (Priority 0 session 5) |
| Master (Supplier/Project/Department) | Domain/Master/ |
2, 10 | Feature-complete |
| Identity (User/Role/Permission/MenuItem) | Domain/Identity/ |
1, 3, 11 | Feature-complete (30 demo user — 16 sample + 14 Solutions thật) |
| Forms (Template + Clause) | Domain/Forms/ |
4 | Feature-complete |
| Notifications | Domain/Notifications/ |
6 | In-app + SignalR OK, email SMTP TODO |
Commit convention
[CLAUDE] <scope>: <imperative message>
Scope: Contract · PurchaseEvaluation · Budget · Form · Workflow · Supplier · Auth · Admin · Api · App · Domain · Infra · FE-Admin · FE-User · Docs · CICD · Scripts · Skill
🛠️ Skills (.claude/skills/) — 6 skill PHẢI dùng khi task khớp
| Domain (3) | Ops (3) |
|---|---|
contract-workflow — state machine + versioned WF |
dependency-audit-erp — npm/dotnet CVE scan |
form-engine — render docx/xlsx + PDF |
ef-core-migration — EF migration + 3-file rule |
permission-matrix — role × menu × CRUD |
iis-deploy-runbook — 3 site IIS + win-acme + runner |
Audit định kỳ: đầu mỗi tháng — workflow docs/rules.md §9.4. Lần kế: 2026-05-01.
Quy tắc: KHÔNG bulk-clone repo skill 3rd party. Chỉ thêm skill PROJECT-SPECIFIC. Xem docs/rules.md §9 đầy đủ.
📖 Tài liệu quan trọng
| File | Nội dung |
|---|---|
docs/STATUS.md |
🔥 Current state — đọc đầu tiên |
docs/HANDOFF.md |
Brief 5 phút: session trước làm gì + next tasks |
docs/rules.md |
⭐ Coding conventions (BE Clean Arch, FE React, DB, Git, Docs) |
docs/architecture.md |
⭐ Layered architecture + request lifecycle + deployment |
docs/PROJECT-MAP.md |
Bản đồ tổng quan |
docs/changelog/migration-todos.md |
Roadmap 5 phase + atomic tasks |
docs/CLAUDE.md |
Full context — tech stack chi tiết |
docs/workflow-contract.md |
State machine 9 phase HĐ + role matrix |
docs/forms-spec.md |
Catalog 8 form + quy định mã HĐ RG-001 |
docs/database/database-guide.md |
DB conventions + migration workflow + cheatsheet |
docs/database/schema-diagram.md |
⭐ ERD + luồng DB + data flow 51 table (+ §11 PE module + §12 Budget module) |
docs/flows/README.md |
Index 6 flow (auth, permission, contract, form, SLA) |
docs/gotchas.md |
⭐ 26 bẫy đã gặp — đọc trước khi debug tương tự |
.claude/skills/ |
6 skill: contract-workflow, form-engine, permission-matrix, dependency-audit-erp, ef-core-migration, iis-deploy-runbook |
docs/guides/vps-setup.md |
⭐ Master runbook deploy VPS shared với VIETREPORT |
⚠️ Kết thúc session
- Update
docs/STATUS.md(In Progress→Recently Done) - Tick checklist tương ứng trong
docs/changelog/migration-todos.md - Tạo session log
docs/changelog/sessions/YYYY-MM-DD-HHMM-{topic}.mdnếu đáng ghi - Commit
[CLAUDE] <scope>: <message> - ⚠️ Update
SolutionErp.slnxnếu có.cs/.csprojmới
Bỏ qua nếu chỉ trả lời câu hỏi, không sửa file nào.