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

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.1.tar.gz (29.9 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.1-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file box5-0.9.1.tar.gz.

File metadata

  • Download URL: box5-0.9.1.tar.gz
  • Upload date:
  • Size: 29.9 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.1.tar.gz
Algorithm Hash digest
SHA256 7985ecb0ce5362497e7f7d4091cd5e54106dc590f8831742d7964362c105b299
MD5 fa56d43334d43af6e9f2cd4fccd5328f
BLAKE2b-256 5ad9d5430d60e3f3b923f28314a03852fa0a59d823424b59b3d170a50960b49d

See more details on using hashes here.

File details

Details for the file box5-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: box5-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 30.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 568787135769fcacc2a1c342797b66d3c4f9cca514599a32d87dd721515fb12e
MD5 5e5d1f76317d8f4d944498ba3444b379
BLAKE2b-256 62f747c8ad43be9bf1f62170afde60203e2f45d411c4945936a60fdfbe0ac833

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