Files
reader-app/ARCHITECTURE.md
T

39 lines
1.6 KiB
Markdown

# Reader Suite Architecture (Android/Flutter)
Tai lieu nay mo ta vai tro `reader-app` trong he sinh thai doc truyen gom web + mobile + backend.
## Vai tro trong he thong
- `reader-app` la mobile client cho end-user feature.
- KHONG chua logic nghiep vu canonic; backend (`reader-api`) la noi quyet dinh rule.
- Muc tieu: feature parity voi web user-facing, tru workflow MOD/ADMIN.
## Kien truc app
- `lib/core`: config, networking, storage, app-level services.
- `lib/features`: module theo domain (auth, browse, novel-detail, reader, bookshelf...).
- `lib/shared`: widget dung chung.
## Nguyen tac dong bo voi web + backend
- Dung chung endpoint contract voi web, khong tao API rieng cho mobile neu khong can thiet.
- Dung chung semantic cho state:
- bookmark
- reading-progress
- recommendation
- user-settings
- Auth mobile qua JWT; backend phai map cung identity voi web.
## Environment va ket noi
- Khong co `--dart-define`: Android native mac dinh toi `https://reader-api.fevirtus.dev`; cac platform khac `http://localhost:8000` (`lib/core/config/app_config.dart`).
- Dev local Android emulator: dat `BASE_URL=http://10.0.2.2:8000` trong `.env.mobile` va chay qua `scripts/flutter_run_with_env.sh`.
- `BASE_URL`, `GOOGLE_SERVER_CLIENT_ID`, `GOOGLE_CLIENT_ID` duoc truyen qua `--dart-define`.
## Definition of Done (Mobile)
- API calls tuan thu contract `reader-api` (status code + error format).
- UX/state nhat quan voi web cho luong user-facing.
- Da test tren it nhat Android emulator + 1 moi truong khac (iOS simulator hoac device).
- Cac huong dan env/auth trong README van dung sau thay doi.