Add application container, Gin router, graceful shutdown handler, and version endpoint. This establishes the skeleton for the WebDisk HTTP API as described in the architecture. - Add internal/app/WebApp for runtime dependencies and version - Add internal/server/router with GET /api/v1/version route - Add graceful shutdown runner with signal handling in cmd/serve - Add internal/api/ErrorResponse for standard HTTP error body - Update roadmap, architecture, and decisions documentation
1.6 KiB
1.6 KiB
Roadmap
v0
| Feature | Status | Notes |
|---|---|---|
| CLI config management | ⬜ plan | |
| JWT authentication | ⬜ plan | access + refresh tokens, refresh token in DB |
| Web API foundation | ✅ skeleton | WebApp composition, Gin router, graceful shutdown, GET /api/v1/version |
| File upload/download/manage APIs | ⬜ plan | REST API via Gin |
| Admin endpoints | ⬜ plan | user CRUD for superusers |
| WebDAV | ⬜ plan | future v0 or v1 |
Implementation Tasks
Package-level implementation order (each task includes unit tests):
internal/config— Viper loader, config structinternal/app— runtime dependency container ✅ skeletoninternal/model— domain types, error codesinternal/api— error response helpers ✅ skeletoninternal/auth— JWT utilsinternal/storage— backend interface + local fsinternal/repository— interfaces + GORM/SQLite implinternal/service— auth, file, admin servicesinternal/middleware— logger, cors, authinternal/handler— auth, file, admin handlers ✅ version skeletoninternal/server— Gin router, route registration, graceful shutdown ✅ skeletoncmd/serve.go,cmd/config.go,cmd/status.go✅ serve skeleton- Integration tests
Future
| Feature | Status | Notes |
|---|---|---|
| Image server | ⬜ plan | thumbnail generation |
| Pastebin & code snippets | ⬜ plan | in sharing context |
| S3 storage backend | ⬜ plan | new storage impl |
| Nextcloud-compatible API | ⬜ plan | new handler layer on existing services |