Sistem web pentru rezervarea de birouri și săli de ședință cu flux de aprobare administrativă. Stack: FastAPI + Vue.js 3 + SQLite + TypeScript Features implementate: - Autentificare JWT + Self-registration cu email verification - CRUD Spații, Utilizatori, Settings (Admin) - Calendar interactiv (FullCalendar) cu drag-and-drop - Creare rezervări cu validare (durată, program, overlap, max/zi) - Rezervări recurente (săptămânal) - Admin: aprobare/respingere/anulare cereri - Admin: creare directă rezervări (bypass approval) - Admin: editare orice rezervare - User: editare/anulare rezervări proprii - Notificări in-app (bell icon + dropdown) - Notificări email (async SMTP cu BackgroundTasks) - Jurnal acțiuni administrative (audit log) - Rapoarte avansate (utilizare, top users, approval rate) - Șabloane rezervări (booking templates) - Atașamente fișiere (upload/download) - Conflict warnings (verificare disponibilitate real-time) - Integrare Google Calendar (OAuth2) - Suport timezone (UTC storage + user preference) - 225+ teste backend Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
476 B
Plaintext
24 lines
476 B
Plaintext
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.0
|
|
sqlalchemy==2.0.31
|
|
alembic==1.13.2
|
|
pydantic==2.8.2
|
|
pydantic-settings==2.4.0
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
bcrypt==4.0.1
|
|
python-multipart==0.0.9
|
|
email-validator==2.2.0
|
|
pytest==8.3.2
|
|
pytest-asyncio==0.23.8
|
|
httpx==0.27.0
|
|
mypy==1.11.0
|
|
ruff==0.5.5
|
|
aiosmtplib==3.0.1
|
|
google-auth==2.28.0
|
|
google-auth-oauthlib==1.2.0
|
|
google-auth-httplib2==0.2.0
|
|
google-api-python-client==2.119.0
|
|
python-dateutil==2.9.0
|
|
pytz==2024.1
|