SQLite for user storage, filesystem for note storage
JWT-based authentication with magic link passwordless login
Middleware-based tenant context injection
## Overview
Transform the single-user Notesium backend into a multi-tenant system with per-user authentication, storage isolation, and tenant-aware API routing.
## Child Issues
- [x] #8 Add user model and SQLite storage
- [x] #9 Implement email magic link authentication system
- [x] #10 Implement per-user note directory isolation with filesystem sandboxing
- [x] #11 Add tenant-aware API routing with auth middleware
## Success Criteria
- [x] Multiple users can register and authenticate independently
- [x] Each user's notes are isolated from other users
- [x] API endpoints enforce authentication and tenant boundaries
- [x] No regression in single-user Notesium functionality
## Dependencies
- Depends on Phase 0 (#2) completion
## Architecture Notes
- SQLite for user storage, filesystem for note storage
- JWT-based authentication with magic link passwordless login
- Middleware-based tenant context injection
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
Transform the single-user Notesium backend into a multi-tenant system with per-user authentication, storage isolation, and tenant-aware API routing.
Child Issues
Success Criteria
Dependencies
Architecture Notes
libretech referenced this issue2026-02-25 17:16:14 +01:00
Phase 1: Multi-tenant Backendto Epic: Phase 1 — Multi-tenant Backend