A full-stack application for synchronizing files across local storage, Google Drive, and Azure Blob Storage with automatic conflict detection and resolution.
- File Upload: Web-based file upload with progress tracking
- Local Storage: Fast local file storage with metadata tracking
- Multi-Cloud Sync: Automatic synchronization to Google Drive and Azure Blob
- User Authentication: Secure JWT-based authentication
- Google Drive OAuth: Per-user Google Drive access
- Conflict Detection: Automatic conflict detection across storage backends
- Conflict Resolution: Multiple resolution strategies (last-write-wins, keep-both, manual)
- Status Tracking: Real-time sync status and progress
- RESTful API: Complete REST API with OpenAPI documentation
- Docker Support: Docker and docker-compose configurations
- React Frontend: Modern React frontend (integrated)
cd backend
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
python setup.py # Generates secure keys and checks config
uvicorn app.main:app --reloadAccess:
- API: http://localhost:8000
- Docs: http://localhost:8000/docs
cd frontend
npm install
npm startAccess: http://localhost:3000
| Document | Description |
|---|---|
| backend/README.md | Complete backend API documentation |
| backend/QUICKSTART.md | 5-minute setup guide |
| backend/DEPLOYMENT.md | Production deployment guide |
| frontend/INTEGRATION.md | Frontend integration guide |
- JWT-based API authentication
- Google OAuth2 for Drive access
- Encrypted token storage
- Upload files via REST API
- Automatic sync to Google Drive
- Optional Azure Blob sync
- Background processing with retry logic
- Automatic conflict detection
- Multiple resolution strategies
- Manual conflict resolution UI
Backend: FastAPI, SQLModel, PostgreSQL, Google Drive API, Azure Blob Storage Frontend: React, Axios DevOps: Docker, docker-compose
# Authentication
POST /auth/register # Register user
POST /auth/login # Login
GET /auth/google/start # Start Google OAuth
GET /auth/google/callback # OAuth callback
# File Operations
POST /api/v1/upload # Upload & sync file
GET /api/v1/files # List files
GET /api/v1/files/{id} # Get/download file
DELETE /api/v1/files/{id} # Delete file
GET /api/v1/status/{job_id} # Check sync status
# Conflicts
GET /api/v1/conflicts # List conflicts
POST /api/v1/conflicts/{id}/resolve # Resolve conflictcd backend
docker-compose up --build- Copy
backend/.env.exampletobackend/.env - Run
python backend/setup.pyto generate secure keys - Add Google OAuth credentials from Google Cloud Console
- (Optional) Add Azure Storage connection string
All core features implemented:
- File upload with multipart support
- Local storage with async operations
- Google Drive OAuth integration
- Azure Blob Storage support (code complete)
- Background sync with retry logic
- Conflict detection and resolution
- JWT authentication
- Complete API documentation
- Docker support
- Frontend integration
- Setup Issues: Run
python backend/setup.pyfor guided setup - API Reference: http://localhost:8000/docs
- Full Documentation: See
backend/README.md
For issues and questions:
- Check the documentation in
backend/andfrontend/ - Review API docs at http://localhost:8000/docs
- Open an issue on GitHub
Start with cd backend && python setup.py for guided setup!