- User model (users table) with bcrypt password hashing - JWT-based login API (POST /api/auth/login, GET /api/auth/me) - Default admin account (admin/admin123) auto-created on startup - Login page with centered dark-themed login card - Route guards + Axios interceptors for token management - Login page renders without sidebar (standalone layout) - Gunicorn --preload to avoid worker DDL race condition
18 lines
332 B
Plaintext
18 lines
332 B
Plaintext
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.6
|
|
sqlalchemy==2.0.35
|
|
aiomysql==0.2.0
|
|
pymysql==1.1.1
|
|
alembic==1.13.2
|
|
pydantic==2.9.2
|
|
pydantic-settings==2.5.2
|
|
python-multipart==0.0.9
|
|
croniter==2.0.7
|
|
apscheduler==3.10.4
|
|
httpx==0.27.2
|
|
pycryptodome==3.20.0
|
|
gunicorn==23.0.0
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
bcrypt==4.0.1
|