66 lines
953 B
Markdown
66 lines
953 B
Markdown
# Technical Stack
|
|
|
|
## 1. General Approach
|
|
|
|
- Monorepo
|
|
- Single codebase for frontend and backend
|
|
- SPA (no SEO requirements)
|
|
- Mobile-first
|
|
- Backend used as API and calculation layer
|
|
|
|
---
|
|
|
|
## 2. Frontend
|
|
|
|
- Nuxt 3
|
|
- Vue 3
|
|
- TypeScript
|
|
- Pinia (state management)
|
|
- Vite (build tool)
|
|
- CSS or Tailwind CSS (implementation choice)
|
|
|
|
---
|
|
|
|
## 3. Backend
|
|
|
|
- Node.js via Nuxt Nitro
|
|
- REST API (no GraphQL)
|
|
- Server-side calculation for:
|
|
- crop growth
|
|
- quest availability
|
|
- streaks
|
|
- rewards
|
|
|
|
---
|
|
|
|
## 4. Database
|
|
|
|
- SQLite
|
|
- Prisma ORM
|
|
- Migrations required
|
|
- Seed data required (initial crops, obstacles, presets)
|
|
|
|
---
|
|
|
|
## 5. State Management
|
|
|
|
- Pinia as a single source of truth on frontend
|
|
- Server is authoritative for:
|
|
- time-based logic
|
|
- rewards
|
|
- progression
|
|
|
|
---
|
|
|
|
## 6. Internationalization
|
|
|
|
- i18n support enabled from start
|
|
- Default language: RU
|
|
- EN prepared for future use
|
|
|
|
---
|
|
|
|
## 7. Testing
|
|
|
|
- Unit tests are NOT required for MVP
|