This commit is contained in:
oneao committed 2026-06-24 14:07:17 +08:00
1 parent 056cd4970f
commit 513a991b57
3 files changed
+1328 -2279

No files matched your search

+38 -38
View File
@@ -32,7 +32,7 @@ Allapp main shell
│ ├── Add record
│ └── Analysis
└── Clothes matching
└── Planned/listed, route not implemented yet
└── Configured in pages.ts, route not implemented yet
```
Important naming note:
@@ -45,8 +45,8 @@ Important naming note:
Tech stack:
- Go
- Fiber v3
- Go 1.25
- Fiber v3.1
- pgx PostgreSQL client
- JWT
- Viper config
@@ -123,8 +123,8 @@ Validation notes:
Tech stack:
- Expo 55
- React Native 0.83
- Expo 56
- React Native 0.85
- React 19
- Expo Router
- Zustand
@@ -189,7 +189,7 @@ Startup flow:
├── no local token -> /auth/login
├── token exists but user check fails -> /auth/login
├── token exists but no family -> /family/entry
└── token exists and family exists -> /(tabs)/home
└── token exists and family exists -> /home
```
## Frontend Route Structure
@@ -201,23 +201,25 @@ src/app
├── _layout.tsx
├── index.tsx
├── +not-found.tsx
├── auth
│ └── login.tsx
├── (tabs)
│ ├── _layout.tsx
│ ├── home/index.tsx
│ ├── chat/index.tsx
│ ├── my/index.tsx
│ └── star/index.tsx
├── tools
│ └── index.tsx
├── family
│ ├── entry.tsx
│ ├── settings.tsx
│ ├── user.tsx
│ └── member/[id].tsx
└── finance
├── (tabs)
├── (main)/
│ ├── (tabs)/
│ │ ├── _layout.tsx
│ │ ├── home/index.tsx
│ │ ├── chat/index.tsx
│ │ └── my/index.tsx
│ ├── activities/
│ │ └── index.tsx
│ ├── auth/
│ │ └── login.tsx
│ ├── family/
│ │ ├── entry.tsx
│ │ ├── settings.tsx
│ │ ├── user.tsx
│ │ └── member/[id].tsx
│ └── tools/
│ └── index.tsx
└── finance/
├── (tabs)/
│ ├── _layout.tsx
│ ├── home/index.tsx
│ └── analysis/index.tsx
@@ -233,7 +235,7 @@ Effective routes:
/home main home
/chat chat/image picker demo
/my profile tab
/star placeholder page, not currently in tab config
/activities family activity feed
/tools app/module list
/family/entry create or join family
/family/settings family settings
@@ -245,7 +247,7 @@ Effective routes:
/finance/sub test page
```
Main tab config in `src/app/(tabs)/_layout.tsx`:
Main tab config in `src/app/(main)/(tabs)/_layout.tsx`:
```text
/home 首页
@@ -266,15 +268,14 @@ Finance module tab config in `src/app/finance/(tabs)/_layout.tsx`:
Layout behavior:
- Root `_layout.tsx` renders a global Stack with no headers.
- `(tabs)/_layout.tsx` uses `AppLayout`, which renders `Slot`, top `Navbar`, and bottom `Tabbar`.
- `(main)/(tabs)/_layout.tsx` uses `AppLayout`, which renders `Slot`, top `Navbar`, and bottom `Tabbar`.
- `finance/(tabs)/_layout.tsx` uses `ModuleLayout`, a module-level shell with its own top bar and tabbar.
- `ModuleLayout` close action returns to `/(tabs)/home`.
- `ModuleLayout` close action returns to `/(main)/(tabs)/home`.
Current route mismatches:
- Main tab points to `/space`, but no `/space` file exists.
- `src/app/(tabs)/star/index.tsx` exists but is not in the tab config.
- `/tools` is outside `(tabs)`, so it is not wrapped by `AppLayout`; decide whether this is intentional.
- `/tools` is inside `(main)` group, wrapped by root layout only.
- `/finance/add` is outside `finance/(tabs)`, but the finance tabbar points to it. This can be intentional for a modal/subpage style add screen.
## Feature Status
@@ -292,12 +293,14 @@ Implemented or mostly implemented:
- Avatar upload to S3/RustFS
- QQ/WeChat account binding
- App/module list page
- Family activity feed (`/activities`)
Partially implemented:
- Finance module shell
- Finance category loading
- Finance add-record form UI
- Finance add-record form UI (save not implemented)
- Finance record list on `/finance/home` (placeholder)
- Finance analysis placeholder/demo page
Not yet complete:
@@ -305,7 +308,7 @@ Not yet complete:
- Saving a finance record from `/finance/add`
- Finance record list on `/finance/home`
- Finance analysis real data
- Clothes matching app route
- Clothes matching app route (`/clothes/home` configured but route not implemented)
- `/space` main-tab page
## Database: allapp
@@ -412,16 +415,12 @@ Those are not the right runtime for WSL. Prefer WSL `fnm`.
Frontend:
- `pnpm exec tsc --noEmit` currently fails.
- `tsconfig.json` includes `**/*.ts` and `**/*.tsx`, pulling in `example`.
- `tsconfig.json` has a suspicious extra include entry: `src/app/auth/login_2`.
- Generated iconfont components have `react-native-svg` prop type incompatibilities.
- `src/app/finance/(tabs)/analysis/index.tsx` has `Surface variant="2"` type mismatch.
- `pnpm exec tsc --noEmit` may have type errors.
- Generated iconfont components may have `react-native-svg` prop type incompatibilities.
Backend:
- `go` was not available in the earlier command environment, so `go test ./...` could not be rerun there.
- Prior context noted a possible unique ID package compile issue around `fmt.Println(message)` vs `fmt.Println(message...)`.
- Go 1.25 with Fiber v3.1 should compile without issues.
## Important Current Risks
@@ -430,6 +429,7 @@ Backend:
- Frontend business logic often trusts local/user-provided family and user IDs.
- Main tab route `/space` is missing.
- Some pages are placeholders or demos.
- Database credentials are exposed in `db.local.yml` (should not be committed to version control).
## Development Conventions