- Users table with email/bcrypt-hashed password; register and login via /auth/ endpoints - JWT tokens (30-day expiry) stored in localStorage; all API routes require Bearer auth - All data (varieties, batches, settings, notification logs) scoped to the authenticated user - Login/register screen overlays the app; sidebar shows user email and logout button - Scheduler sends daily ntfy summaries for every configured user - DB schema rewritten for multi-user; SECRET_KEY added to env Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 lines
239 B
Plaintext
13 lines
239 B
Plaintext
fastapi==0.111.0
|
|
uvicorn[standard]==0.29.0
|
|
sqlalchemy==2.0.30
|
|
pymysql==1.1.1
|
|
cryptography==42.0.7
|
|
python-dotenv==1.0.1
|
|
httpx==0.27.0
|
|
apscheduler==3.10.4
|
|
pydantic==2.7.1
|
|
python-jose[cryptography]==3.3.0
|
|
bcrypt==4.1.3
|
|
email-validator==2.1.1
|