kamaji 3f0b0ea2e2 Live-update queue list when upload status changes
Storage.updatePhoto() now fires a 'photo-updated' CustomEvent so the
queue page refreshes immediately (300ms debounce) when the sync engine
changes a photo's status, instead of waiting for the 5s poll.

Also reduces background poll to 30s (just a fallback now), and revokes
stale ObjectURLs on each rebuild to prevent memory leaks.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:07:53 -06:00

NextSnap

Offline-first photo capture web app for Nextcloud.

Quick Start

Development

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python run.py

Visit http://localhost:5000/api/health to verify the server is running.

Docker Deployment

export SECRET_KEY="your-secret-key-here"
export NEXTCLOUD_URL="https://your-nextcloud-instance.com"
docker-compose up -d

Architecture

  • Backend: Flask + Gunicorn
  • Frontend: Vanilla JavaScript (no framework)
  • Offline Storage: IndexedDB via Dexie.js
  • Service Worker: For offline-first capabilities
  • Nextcloud Integration: WebDAV API for file operations

Build Order

See nextsnap.md for the complete specification and phased implementation plan.

Description
No description provided
Readme 339 KiB
Languages
JavaScript 42.2%
HTML 29.1%
Python 21.6%
CSS 5.6%
Makefile 0.6%
Other 0.9%