36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
# GTD
|
|
|
|
Minimal Getting Things Done app. One Expo/React Native codebase for iPhone, Android, and web; data lives in Postgres on the VPS.
|
|
|
|
- **Web**: https://gtd.rehbock.xyz (Expo web export, static)
|
|
- **API**: https://gtd.rehbock.xyz/api → `gtd-api` container (Bun, `server/`)
|
|
- **DB**: `gtd` database in the `personal-db` Postgres container (`server/schema.sql`)
|
|
- **Auth**: single bearer token (`API_TOKEN` in `server/.env` on the VPS); enter it once in the app's Settings
|
|
|
|
## Layout
|
|
|
|
- `app/` — Expo app (expo-router, TypeScript). Home shows the top 3 next actions plus a launcher menu: Today / Next / Waiting / Someday / Projects / Review. There is no inbox — every task is born fully scoped (title, priority, due date). Tap a task to clarify (list, project, context, waiting-for, due/defer dates, repeat).
|
|
- **Quick add**: the title field parses tokens live — `Pay rent tmr p1 @home #Sydney ~30m monthly` — and mirrors them into the form.
|
|
- **Repeat**: daily / weekdays / weekly / monthly / yearly; completing spawns the next occurrence (lapsed tasks catch up to today).
|
|
- **Defer**: deferred tasks are hidden from action lists until their date; a footer link reveals them.
|
|
- **Weekly review**: overdue, stalled (14d), aging waiting-fors (7d), someday sweep, deferred preview, stuck projects — with one-tap triage per row. Done and Trash (restorable) live at the bottom of Review.
|
|
- `server/` — Bun API + Dockerfile + compose. Deployed at `~/personal/gtd` on rehbock.xyz, joined to `personal-db_default` + `caddy_net`.
|
|
|
|
## Develop
|
|
|
|
```sh
|
|
cd app && npx expo start # scan QR with Expo Go (iPhone or Pixel)
|
|
```
|
|
|
|
## Deploy
|
|
|
|
```sh
|
|
# API
|
|
rsync -a server/ --exclude .env.token.local rehbock.xyz:personal/gtd/
|
|
ssh rehbock.xyz 'cd ~/personal/gtd; and docker compose up -d --build'
|
|
|
|
# Web
|
|
cd app && npx expo export --platform web
|
|
rsync -a --delete dist/ rehbock.xyz:personal/gtd/web/
|
|
```
|