aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/dev/roadmap.md
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-11-30 05:46:10 +0900
committernsfisis <nsfisis@gmail.com>2025-11-30 05:46:10 +0900
commit785a98ebb0c65cc400d35897fab1460ad3f6959c (patch)
treebc62bc65b155157d96412f0b2d34b1f0b53ccbd4 /docs/dev/roadmap.md
parente753941a8918929e05077e88cd47b1a34bb15ca3 (diff)
downloadkioku-785a98ebb0c65cc400d35897fab1460ad3f6959c.tar.gz
kioku-785a98ebb0c65cc400d35897fab1460ad3f6959c.tar.zst
kioku-785a98ebb0c65cc400d35897fab1460ad3f6959c.zip
prepare docs
Diffstat (limited to 'docs/dev/roadmap.md')
-rw-r--r--docs/dev/roadmap.md132
1 files changed, 132 insertions, 0 deletions
diff --git a/docs/dev/roadmap.md b/docs/dev/roadmap.md
new file mode 100644
index 0000000..32af8c7
--- /dev/null
+++ b/docs/dev/roadmap.md
@@ -0,0 +1,132 @@
+# Kioku Development Roadmap
+
+## Phase 1: Foundation
+
+### Project Setup
+- [x] Create docs/dev/architecture.md
+- [x] Create docs/dev/roadmap.md
+- [ ] Initialize pnpm workspace
+- [ ] Configure TypeScript
+- [ ] Configure Biome
+- [ ] Setup Vitest
+
+### Database
+- [ ] Docker Compose with PostgreSQL
+- [ ] Drizzle ORM setup
+- [ ] Database migrations
+
+### Shared Package
+- [ ] Create packages/shared
+- [ ] Define types (User, Deck, Card, ReviewLog)
+- [ ] Zod validation schemas
+
+### Server Foundation
+- [ ] Initialize Hono app
+- [ ] Error handling middleware
+- [ ] Logger middleware
+
+### Authentication
+- [ ] User registration endpoint
+- [ ] Login endpoint (JWT)
+- [ ] Refresh token endpoint
+- [ ] Auth middleware
+
+## Phase 2: Core Features
+
+### Server API
+- [ ] Deck CRUD endpoints
+- [ ] Card CRUD endpoints
+- [ ] ts-fsrs integration
+- [ ] Study endpoints (get cards, submit review)
+
+### Frontend Foundation
+- [ ] Initialize SvelteKit
+- [ ] Setup routing
+- [ ] API client
+
+### Auth UI
+- [ ] Login page
+- [ ] Register page
+- [ ] Auth store
+
+### Deck Management UI
+- [ ] Deck list page
+- [ ] Deck detail page
+- [ ] Create/edit deck
+
+### Card Management UI
+- [ ] Card list view
+- [ ] Create/edit card
+
+### Study UI
+- [ ] Study session page
+- [ ] Card flip interaction
+- [ ] Rating buttons (Again, Hard, Good, Easy)
+- [ ] Progress display
+
+## Phase 3: Offline Support
+
+### IndexedDB
+- [ ] Dexie.js setup
+- [ ] Local schema (with sync flags)
+- [ ] Local CRUD operations
+
+### PWA
+- [ ] @vite-pwa/sveltekit configuration
+- [ ] Web manifest
+- [ ] Service Worker
+- [ ] Offline fallback
+
+### Sync Engine
+- [ ] Sync queue management
+- [ ] Push implementation
+- [ ] Pull implementation
+- [ ] Conflict resolution
+- [ ] Auto-sync on reconnect
+
+### Sync API
+- [ ] POST /api/sync/push
+- [ ] GET /api/sync/pull
+
+### Sync UI
+- [ ] Sync status indicator
+- [ ] Manual sync button
+- [ ] Offline mode indicator
+
+## Phase 4: Anki Import
+
+### Parser
+- [ ] ZIP extraction
+- [ ] SQLite database reading
+- [ ] Note/Card mapping
+
+### Import API
+- [ ] POST /api/import/apkg
+- [ ] Progress tracking
+
+### Import UI
+- [ ] File upload
+- [ ] Import progress
+- [ ] Import results
+
+## Phase 5: Deployment
+
+### Docker
+- [ ] Dockerfile for server
+- [ ] Dockerfile for web (static build)
+- [ ] compose.yml (full stack)
+
+### Production
+- [ ] Environment configuration
+- [ ] Backup strategy
+
+### Documentation
+- [ ] README.md
+
+## Future Considerations
+
+- Statistics and analytics
+- Export functionality
+- Multiple card types
+- Tags and search
+- Keyboard shortcuts