# Architecture > Technical architecture and design decisions for [Project Name] ## Tech Stack | Layer | Technology | Purpose | |-------|------------|---------| | Frontend | Vue 3 + Quasar | UI framework | | State | Pinia | State management | | Routing | Vue Router | Client-side routing | | Desktop | Tauri | Native desktop wrapper | | Backend | Nhost | Auth, database, storage | ## Project Structure ``` app/ ├── src/ │ ├── boot/ # Initialization scripts │ ├── components/ # Reusable Vue components │ ├── composables/ # Vue composables (shared logic) │ ├── layouts/ # Page layouts │ ├── pages/ # Route pages │ ├── router/ # Route definitions │ ├── stores/ # Pinia stores │ ├── services/ # API services │ └── types/ # TypeScript types ├── src-tauri/ # Tauri/Rust code └── build.sh # Build script ``` ## Key Design Decisions ### [Decision 1] **Context**: [Why this decision was needed] **Decision**: [What was decided] **Consequences**: [Trade-offs and implications] ### [Decision 2] ... ## Data Model [Describe main entities and relationships] ``` Entity1 ──────< Entity2 │ └──────< Entity3 ``` ## External Integrations | Service | Purpose | Documentation | |---------|---------|---------------| | [Service] | [Purpose] | [Link] |