Dropbox-like app with Client, Server, and Website
Project description
box5
A personal Dropbox-like app with Client (desktop sync), Server (cloud storage), and Website (web UI).
Quick Start
Start All Services
./run.sh
- Server: http://localhost:3111
- Website: http://localhost:3112
Manual Start
# Server (port 3111)
cd Server && uvicorn main:app --port 3111
# Website (port 3112)
cd Website && uvicorn main:app --port 3112
# Client Sync
python -m Client.main --username ccc --password cccpass --folder ./sync
Features
File Sync
- Place files in
./sync/folder to auto-upload - Changes detected and synced automatically
- Use
./sync/public/for public files (accessible without login)
Folder Navigation (ls-style)
- Root shows subfolders:
subdir/,public/ - Click folder to enter
- In subfolder shows
../to go back - Breadcrumb shows current path
File Version History
- Same filename shows only latest version on homepage
- Click "History" to see all versions (v1, v2, v3...)
File Viewer
.md→ Markdown rendered.txt→ Plain text display.jpg/.png/.gif→ Image display- Other files → Download
Public Files
- Files in
sync/public/are uploaded as public - Access via
/api/public/filesor Website/public
Web Editor
- Web-based code editor similar to VSCode (access at
/editor) - Monaco Editor for multi-tab code editing
- Integrated Terminal with real-time multiplexed PTY
Run Tests
./test.sh
Tech Stack
- Python + FastAPI + sql5
- sql5 source:
/Users/Shared/ccc/project/sql5
Project Structure
Server/— FastAPI server with sql5 databaseClient/— Desktop sync client using watchdogWebsite/— Web UI with Jinja2 templatestests/— pytest unit tests_doc/— planning docs and version notes
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
box5-0.9.2.tar.gz
(30.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
box5-0.9.2-py3-none-any.whl
(30.6 kB
view details)
File details
Details for the file box5-0.9.2.tar.gz.
File metadata
- Download URL: box5-0.9.2.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d31db160a5d35deab4877b4b7517d370adb95575ad5b6c4ca123bf8dfbbea91d
|
|
| MD5 |
892ab8ee02d1d611f8e5cf2a8246d0e3
|
|
| BLAKE2b-256 |
6c0a1b3f0eca8d3634d00cf357cf11a4f07e69f42377ac381715f0bee25a4bed
|
File details
Details for the file box5-0.9.2-py3-none-any.whl.
File metadata
- Download URL: box5-0.9.2-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb3aa3fdffc5e55fd003f7596400c2a9c50e0ed8bfcba2c7e244371a3597ba96
|
|
| MD5 |
1ac95c8b528879de1faf3e978f9420dc
|
|
| BLAKE2b-256 |
7013c5d4f89ea9328ea9ced2d0d76525d9f559e68651a587bfa2034cd120f432
|