# AI STUDIO INTEGRATION GUIDE

[← Development Guide](./04-development-guide.md) | [Về Overview](../../README.md)

---

## Cách sử dụng với Google AI Studio

### Bước 1: Chuẩn bị Prompt cho Google AI Studio

**Prompt mẫu cho Backend Development:**

```
Tôi cần phát triển Backend API cho hệ thống AM & O&M với tech stack:
- Node.js + Express.js + TypeScript
- Data Layer Abstraction (Demo Mode + MongoDB Mode)
- JWT Authentication
- RBAC (Role-Based Access Control)

Dựa trên tài liệu đặc tả sau:

[Paste toàn bộ nội dung các file trong docs/ folder]

Yêu cầu QUAN TRỌNG:
1. **Data Layer Abstraction**:
   - Implement IDataAdapter interface để abstract data layer
   - Tạo DemoDataAdapter: Đọc/ghi JSON files từ data/demo/ folder
   - Tạo MongoDBAdapter: Kết nối MongoDB thực tế qua Mongoose
   - Sử dụng Configuration Flag: DATA_MODE=demo hoặc DATA_MODE=mongodb
   - Cấu trúc JSON files trong data/demo/ phải giống hệt MongoDB documents
   - Khi DATA_MODE=demo: Không cần MongoDB, chỉ cần JSON files
   - Khi DATA_MODE=mongodb: Kết nối MongoDB thực tế
   - Tất cả code business logic sử dụng IDataAdapter, không trực tiếp gọi Mongoose

2. Tạo cấu trúc project Backend với Node.js + Express.js + TypeScript

3. Implement Data Adapters:
   - DemoDataAdapter: CRUD operations với JSON files
   - MongoDBAdapter: CRUD operations với Mongoose
   - Cả 2 adapters phải implement cùng interface IDataAdapter

4. Tạo Demo Data:
   - Tạo folder data/demo/
   - Tạo JSON files cho tất cả collections
   - Format JSON phải giống MongoDB documents

5. Implement MongoDB Collections & Schemas - Chỉ dùng khi DATA_MODE=mongodb

6. Implement API Endpoints - RESTful API
   - Tất cả endpoints sử dụng dataAdapter

7. Implement Business Logic Flows

8. Implement Validation Rules

9. Implement Error Handling middleware

10. Setup JWT Authentication & RBAC Authorization

11. Implement Audit Logging

12. Configuration:
    - Tạo .env file với DATA_MODE=demo (mặc định)
    - Tạo data.config.ts để quản lý configuration

QUAN TRỌNG: 
- Bắt đầu với DATA_MODE=demo (không cần MongoDB)
- Tạo đầy đủ demo data trong data/demo/ folder
- Implement data layer abstraction trước
- Tất cả business logic code sử dụng dataAdapter

Bắt đầu với Phase 1: Foundation
```

**Prompt mẫu cho Frontend Development:**

```
Tôi cần phát triển Frontend Web App cho hệ thống AM & O&M với tech stack:
- Vite (Build tool)
- React hoặc Vue.js + TypeScript
- State Management (Zustand cho React hoặc Pinia cho Vue)
- UI Library (Material-UI, Ant Design, hoặc Tailwind CSS)

Dựa trên tài liệu đặc tả sau:

[Paste toàn bộ nội dung các file trong docs/ folder]

Yêu cầu:
1. Tạo project với Vite + React/Vue.js + TypeScript
2. Setup routing (React Router hoặc Vue Router)
3. Setup State Management (Zustand/Pinia)
4. Setup HTTP Client (Axios) để gọi Backend APIs
5. Implement UI Components theo UI/UX Specifications
6. Implement Pages: Dashboard, Asset Management, O&M, Inventory, Financial
7. Integrate với Backend APIs
8. Implement Authentication & Authorization (JWT)
9. Responsive Design
10. Error Handling & Loading States
11. Form Validation

Bắt đầu với Phase 1: Foundation
```

---

### Bước 2: Chia nhỏ theo Module

Có thể chia nhỏ thành các module riêng biệt:

1. **Module 1: Authentication & User Management**
   - docs/02-functional-requirements/07-user-management-rbac.md
   - docs/05-data/01-database-schema.md (User collections)
   - docs/06-api/01-api-endpoints.md (Auth & User APIs)

2. **Module 2: Asset Management**
   - docs/02-functional-requirements/01-asset-management.md
   - docs/05-data/01-database-schema.md (Asset collections)
   - docs/06-api/01-api-endpoints.md (Asset APIs)

3. **Module 3: O&M Core**
   - docs/02-functional-requirements/02-operations-maintenance.md
   - docs/05-data/01-database-schema.md (O&M collections)
   - docs/06-api/01-api-endpoints.md (O&M APIs)

4. **Module 4: Inventory Management**
   - docs/02-functional-requirements/02-operations-maintenance.md (Section 3.10)
   - docs/05-data/01-database-schema.md (Inventory collections)
   - docs/06-api/01-api-endpoints.md (Inventory APIs)

5. **Module 5: Financial Management**
   - docs/02-functional-requirements/01-asset-management.md (Section 2.2)
   - docs/05-data/01-database-schema.md (Financial collections)
   - docs/06-api/01-api-endpoints.md (Financial APIs)

6. **Module 6: Reporting & Dashboard**
   - docs/02-functional-requirements/04-reporting-kpi.md
   - docs/04-frontend/02-ui-ux-specifications.md
   - docs/06-api/01-api-endpoints.md (Reporting & Dashboard APIs)

---

### Bước 3: Lặp lại và Tinh chỉnh

- Sử dụng kết quả từ AI Studio làm base
- Review và tinh chỉnh code
- Test và fix bugs
- Tiếp tục với các module tiếp theo

---

## Checklist trước khi bắt đầu Development

- [x] Functional Requirements đầy đủ
- [x] Database Schema được định nghĩa
- [x] API Endpoints được liệt kê
- [x] UI/UX Specifications có mô tả
- [x] Business Logic Flows được vẽ
- [x] Validation Rules được định nghĩa
- [x] Error Handling được mô tả
- [x] Technical Stack được chọn
- [x] Roadmap triển khai được lập
- [x] Data Layer Abstraction được thiết kế

---

**Back to**: [Overview](../../README.md)
