39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# MultiDrive Box
|
|
|
|
This project combines multiple Google Drive accounts into a single storage pool. It supports smart chunking of large files, distributed storage across multiple accounts, and unified download.
|
|
|
|
## Setup
|
|
|
|
1. **Install dependencies:**
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
2. **Google Drive API Credentials:**
|
|
|
|
- Go to the [Google Cloud Console](https://console.cloud.google.com/).
|
|
- Create a new project.
|
|
- Enable the Google Drive API.
|
|
- Create OAuth 2.0 Client ID credentials for a "Desktop app".
|
|
- Download the `credentials.json` file and place it in the root of this project.
|
|
|
|
3. **Run the backend:**
|
|
|
|
```bash
|
|
uvicorn app.main:app --reload
|
|
```
|
|
|
|
4. **Run the frontend:**
|
|
|
|
```bash
|
|
cd reflex_app
|
|
reflex run
|
|
```
|
|
|
|
## How it Works
|
|
|
|
- **FastAPI Backend:** Handles file uploads, chunking, Google Drive integration, and database management.
|
|
- **Reflex Frontend:** Provides a web interface for uploading files and viewing storage status.
|
|
- **SQLite:** Stores metadata about users, accounts, files, and file parts.
|