- Add BEGIN IMMEDIATE transaction to add_chunk() function
- Prevents concurrent chunk uploads from overwriting each other
- Fixes issue where parallel uploads would lose chunks in database
- Critical for supporting 2+ parallel chunk uploads on mobile
- Replace JSON file storage with SQLite database for improved concurrency and data integrity
- Implement repository pattern with dedicated model layer (admin_model, file_model, chunk_model)
- Add database.py with automatic migration from existing JSON files
- Enable WAL mode for thread-safe concurrent access across Gunicorn workers
- Store database files in dedicated db/ folder
- Update controllers to use model layer instead of direct JSON access
- Add admin authentication system with TOTP 2FA support