- Add USE_IN_MEMORY_DB config flag
- Auto-select repository implementation based on config
- InMemory: for development and testing (no setup needed)
- PostgreSQL: for production (persistent data)
- Update DependencyContainer to support both
- Add documentation for switching databases
- Update .env.example with new config
Phase 4 Task 36/68 completed
- Implement DependencyContainer for all repositories and use cases
- Create singleton pattern for repository instances
- Factory methods for all use cases (auth + workspace)
- Auth middleware: get_current_user with JWT verification
- Permission middleware: require_workspace_access/admin/owner
- Support optional authentication (get_current_user_optional)
- Integrate with PermissionChecker and QuotaChecker
Phase 4 Task 25/68 completed