# 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
