Skip to main content

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

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/files or 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 database
  • Client/ — Desktop sync client using watchdog
  • Website/ — Web UI with Jinja2 templates
  • tests/ — 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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

box5-0.9.2-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

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

Hashes for box5-0.9.2.tar.gz
Algorithm Hash digest
SHA256 d31db160a5d35deab4877b4b7517d370adb95575ad5b6c4ca123bf8dfbbea91d
MD5 892ab8ee02d1d611f8e5cf2a8246d0e3
BLAKE2b-256 6c0a1b3f0eca8d3634d00cf357cf11a4f07e69f42377ac381715f0bee25a4bed

See more details on using hashes here.

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

Hashes for box5-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bb3aa3fdffc5e55fd003f7596400c2a9c50e0ed8bfcba2c7e244371a3597ba96
MD5 1ac95c8b528879de1faf3e978f9420dc
BLAKE2b-256 7013c5d4f89ea9328ea9ced2d0d76525d9f559e68651a587bfa2034cd120f432

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page