Skip to content

Developer Overview

Tech Stack

LayerTechnology
FrameworkTauri v2
FrontendVue 3 + TypeScript
BuildVite 7
StylingTailwind CSS v4
Iconslucide-vue-next
Routervue-router 4
APIConnectRPC (gRPC-Web)
ServerRust tonic 0.14 + tonic-web
DatabaseSQLite (sqlx)
Package ManagerBun

Project Structure

tauri-app/
├── src/                    # Vue frontend
│   ├── pages/              # Route pages (5)
│   ├── composables/        # Shared state & logic (5)
│   ├── components/         # UI components
│   ├── gen/                # Generated proto types (gitignored)
│   ├── grpc.ts             # gRPC client setup + auth interceptor
│   ├── types.ts            # TypeScript interfaces
│   └── router.ts           # Vue Router config
├── src-tauri/              # Rust native layer
│   ├── src/lib.rs          # Tauri setup + SQLite migrations
│   └── Cargo.toml          # Rust dependencies
└── server/                 # gRPC backend server
    ├── proto/mymo/v1/      # Protobuf definitions
    ├── src/
    │   ├── services/       # gRPC service implementations
    │   ├── domain/         # Business logic
    │   ├── models.rs       # Shared DB row types
    │   └── auth.rs         # JWT authentication
    └── Cargo.toml

Core Principles

  • Mobile-first - iOS và Android là target chính, desktop sau
  • Rust-first - Business logic ở server Rust, frontend chỉ hiển thị UI
  • KISS - Đơn giản, dễ đọc, dễ maintain, dễ iterate
TrangNội dung
Cài đặt môi trườngPrerequisites, scripts, commands
Kiến trúcSystem diagrams, data flow
DatabaseSchema, ER diagram, migrations
gRPC API7 services, 23 RPCs
Composables5 composables API reference
iOS GuidePhysical device setup
ConventionsCode patterns & anti-patterns