Go to file
Randy Fischer e86aa5bae2 Store photos as native Blobs instead of base64 data URLs
IndexedDB stores Blobs via structured clone, eliminating the ~33% base64
overhead and avoiding a round-trip through FileReader on every capture.

- photoService.js: capture pushes { blob: file } directly; render sets img.src
  via URL.createObjectURL(p.blob); openLightbox/closeLightbox revoke blob URLs.
- db.js: drop JSON.parse(JSON.stringify(...)) clone which stripped Blobs;
  IndexedDB put() performs structured clone internally.
- exportService.js: download p.blob directly.
- utils.js: remove readFileAsDataUrl and dataUrlToBlob (both unused).
2026-04-15 15:40:09 +02:00
_docs Initial repo scaffold on develop 2026-04-15 15:24:55 +02:00
public Add PWA-ready MVP: split HTML/CSS/JS + DDD layering + service worker 2026-04-15 15:25:38 +02:00
src Store photos as native Blobs instead of base64 data URLs 2026-04-15 15:40:09 +02:00
.gitignore Initial repo scaffold on develop 2026-04-15 15:24:55 +02:00
README.md Initial repo scaffold on develop 2026-04-15 15:24:55 +02:00

README.md

Duimstok-inspecties Bovenbouw

ProRail duimstok-inspecties voor wissels, overwegen en spoor. MVP / PWA — vanilla HTML, CSS, JS, IndexedDB, service worker.

Project-structuur

01_Applicatie/
├── public/                 frontend assets (open public/index.html direct)
│   ├── index.html
│   ├── manifest.webmanifest
│   ├── sw.js               service worker
│   ├── icons/
│   ├── css/
│   └── js/
├── src/                    applicatielogica (DDD-lagen)
│   ├── Domain/
│   ├── Application/
│   └── Infrastructure/
└── _docs/                  projectdocumentatie

Uitvoeren

Snel testen (geen PWA-functionaliteit): Dubbelklik public/index.html. Werkt vanaf file://.

Volledige PWA (service worker + installatie): Start een webserver vanuit 01_Applicatie/ en open de app via http://localhost:<poort>/public/:

python -m http.server 8000
# open http://localhost:8000/public/

Service worker, installatieknop en offline-caching werken alleen vanaf http(s):// of localhost — niet vanaf file://.

Branches

  • master — live productie (auto-deploy bij merge)
  • develop — staging (auto-deploy bij merge)
  • feature branches — nieuwe functionaliteit, merge via PR in develop

Zie _docs/ voor verdere projectdocumentatie.