docs: initial project architecture and specification
This commit is contained in:
+124
@@ -0,0 +1,124 @@
|
||||
CLAUDE.md
|
||||
|
||||
Mandatory Instructions
|
||||
|
||||
Before making any code changes, you MUST read and understand the following documents:
|
||||
|
||||
1. docs/01-project-overview.md
|
||||
2. docs/02-architecture.md
|
||||
3. docs/03-database-design.md
|
||||
4. docs/04-routing.md
|
||||
5. docs/05-ui-pages.md
|
||||
6. docs/06-admin-panel.md
|
||||
7. docs/07-deployment.md
|
||||
8. docs/08-roadmap.md
|
||||
9. docs/09-coding-standards.md
|
||||
10. docs/10-project-structure.md
|
||||
|
||||
These documents are the source of truth.
|
||||
|
||||
Do not make assumptions that contradict these documents.
|
||||
|
||||
---
|
||||
|
||||
Architecture Rules
|
||||
|
||||
Follow:
|
||||
|
||||
Handler
|
||||
Service
|
||||
Repository
|
||||
|
||||
Pattern.
|
||||
|
||||
Do not place business logic inside handlers.
|
||||
|
||||
Do not execute SQL inside handlers.
|
||||
|
||||
Use dependency injection.
|
||||
|
||||
---
|
||||
|
||||
Technology Stack
|
||||
|
||||
Backend:
|
||||
|
||||
- Go
|
||||
- Fiber
|
||||
- GORM
|
||||
- MariaDB
|
||||
- Redis
|
||||
|
||||
Frontend:
|
||||
|
||||
- Go Templates
|
||||
- HTMX
|
||||
- TinyMCE
|
||||
|
||||
No SPA.
|
||||
|
||||
No Vue.
|
||||
|
||||
No React.
|
||||
|
||||
No Next.js.
|
||||
|
||||
---
|
||||
|
||||
Authentication
|
||||
|
||||
Session Based Authentication.
|
||||
|
||||
Redis Session Storage.
|
||||
|
||||
No JWT.
|
||||
|
||||
---
|
||||
|
||||
Rendering
|
||||
|
||||
Server Side Rendering.
|
||||
|
||||
Use HTMX only where partial updates are required.
|
||||
|
||||
---
|
||||
|
||||
Uploads
|
||||
|
||||
Never store uploads inside repository.
|
||||
|
||||
Production upload path:
|
||||
|
||||
/opt/data/uploads
|
||||
|
||||
---
|
||||
|
||||
Database
|
||||
|
||||
Use GORM.
|
||||
|
||||
Use migrations.
|
||||
|
||||
Use soft delete.
|
||||
|
||||
---
|
||||
|
||||
Coding Style
|
||||
|
||||
Prefer simple solutions.
|
||||
|
||||
Avoid over-engineering.
|
||||
|
||||
Avoid premature abstractions.
|
||||
|
||||
Keep code readable.
|
||||
|
||||
Maintain clear separation of responsibilities.
|
||||
|
||||
---
|
||||
|
||||
Session Recovery
|
||||
|
||||
If context is lost, re-read all documentation files before continuing implementation.
|
||||
|
||||
Treat documentation as the authoritative project specification.
|
||||
Reference in New Issue
Block a user