Overview
A Flask + MySQL web app for managing a small museum’s collection: ingest metadata and images, apply basic image pipelines (resize/thumbnail), and publish a searchable public gallery. Admins can bulk-import from CSV, edit records inline, and moderate visibility.
Architecture at a Glance
- Frontend: Jinja templates + vanilla JS (lightweight, fast)
- Backend: Flask REST endpoints (Flask-Login, WTForms)
- Database: MySQL (InnoDB) with indexes on
artist,period,medium,year - Storage: Images on disk with hashed paths; thumbnails generated on upload
- Auth: Role-based (admin, curator, viewer)