Skip to content

Latest commit

 

History

History
100 lines (63 loc) · 3 KB

File metadata and controls

100 lines (63 loc) · 3 KB

FastBox v1.0 Quickstart

1. Create a virtual environment

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

2. Install dependencies

python -m pip install -r requirements.txt

3. Set an admin password

export FASTBOX_ADMIN_PASSWORD='change-this-password'

On PowerShell:

$env:FASTBOX_ADMIN_PASSWORD='change-this-password'

4. Run FastBox

python fastbox.py

Open http://127.0.0.1:8000.

5. Use the app

  • / home upload area: drag-and-drop, or double-click / double-tap to pick a file and auto-upload without leaving the home page
  • /files uploaded file list with a List/Gallery view toggle and media filters
  • /chat real-time anonymous chat
  • /board threaded message board
  • /search?q=term unified search
  • /stats storage statistics
  • /config portal-protected configuration editor
  • /moderation delete tools

6. Run tests

python -m pytest

7. Generate coverage reports

python -m pytest --cov=fastbox --cov-report=term-missing
python -m pytest --cov=fastbox --cov-report=html

Open htmlcov/index.html after generating the HTML report.

Screenshot placeholders

Place screenshots in static/screenshots/ after testing locally.

Branding asset

FastBox includes a retro neon static/favicon.ico served at /favicon.ico for browser tabs, bookmarks, and mobile shortcuts.

Drag-and-drop upload behavior

FastBox uses the standard vanilla JavaScript drag-and-drop pattern: prevent default drag events on the drop area, highlight the target while dragging, read dropped files from event.dataTransfer.files, and upload with FormData. The same visual pattern is used on the home upload area, board thread attachments, and reply attachments. Double-click / double-tap file picker behavior remains available for mobile and accessibility.

Accent color theming

FastBox supports lightweight configuration without a full settings subsystem. After signing in through /admin, open /config to change the maximum general upload size, maximum board attachment size, and accent color. The selected six-digit hex color is stored in SQLite and applied through CSS custom properties across links, borders, focus rings, drop zones, and controls.

You can also set the first-run default with:

export FASTBOX_ACCENT_COLOR="#50dcff"

Only six-digit hex colors such as #32cd32, #50dcff, or #ff7850 are accepted.

Finding IDs for moderation cleanup

Open /moderation to view recent uploads, threads, chat messages, and message board attachments with compact previews. Select one or more rows, enter the moderation password once, then click Delete selected items; no separate item type is required.

Admin

The admin portal is intentionally unlisted in the public navigation. Visit /admin directly and sign in with the admin password to reach Stats, Config, Moderation, and Health from one page.

export FASTBOX_ADMIN_PASSWORD='change-me'
python fastbox.py