@@ -56,12 +56,12 @@ Task Wizard is a self-hosted, privacy-focused task management application. It is
5656
5757| Layer | Directory | Purpose |
5858| -------| -----------| ---------|
59- | HTTP Handlers | ` internal/apis/ ` | REST + CalDAV route handlers |
59+ | HTTP Handlers | ` internal/apis/ ` | REST route handlers |
6060| Middleware | ` internal/middleware/ ` | JWT auth, scope enforcement |
6161| Models | ` internal/models/ ` | GORM data models |
6262| Repositories | ` internal/repos/ ` | Database access layer |
6363| Services | ` internal/services/ ` | Business logic, scheduler, notifications, housekeeping |
64- | Utilities | ` internal/utils/ ` | Auth helpers, email, CalDAV parsing, DB setup |
64+ | Utilities | ` internal/utils/ ` | Auth helpers, email, DB setup |
6565| WebSocket | ` internal/ws/ ` | Real-time push to connected clients |
6666| Migrations | ` internal/migrations/ ` | Schema versioning |
6767| Config | ` config/ ` | YAML-based configuration with env var overrides |
@@ -81,7 +81,7 @@ Task Wizard is a self-hosted, privacy-focused task management application. It is
8181- ** Repository pattern** for data access abstraction
8282- ** Service layer** for business logic separation
8383- ** Dependency injection** (Uber FX) for wiring
84- - ** Scope-based authorization** on API tokens (e.g. ` task:read ` , ` label:write ` , ` dav:read ` )
84+ - ** Scope-based authorization** on API tokens (e.g. ` task:read ` , ` label:write ` )
8585- ** Background scheduler** for notifications, token cleanup, password reset expiration
8686- ** Smart transport** in the frontend — uses WebSocket for real-time updates, HTTP for requests
8787- ** Feature flags** to toggle behaviors like WebSocket transport and auto-refresh
0 commit comments