Takes a folder full of cute animal photos and creates dynamic browsable, filterable, and sortable galleries.
- Node, Express, React, SQLite, Exifr
- Photos must have IPTC keyword tags matching
group/tag
:group
must be {name,species,with}tag
can be any single word
- Galleries can be filtered by group or tag
- Galleries are sorted randomly by default (desc views & asc/desc date optional)
- Remember sorting preference
- Lightbox for single image display
- Currently active navigation elements (logo, nav, tags) are highlighted
- Photo metadata (mostly IPTC keywords) imported to SQLite database
- Supports CSS3 native masonry galleries (currently Firefox only)
- rename API endpoints to match best practice
- use md5 for photo id and use for persistant photo links
- create Docker image and deploy to server
- on group pages change thumbnails to link to persistant photo link
- search photos by filename, title, and tag
- use Redux for DB caching
- better lightbox for full size photo view
- uploading new photos (use md5 id for duplicate detection)
- add/edit/delete tags
- automatically optimise photos (resize thumbnails)
- serve images cropped to arbitrary dimensions (example)
- add tests
- Put tagged photos into
server/public/images
- Run
npm install
- Run
npm run knex migrate:latest
- Run
node server/db/updatedb.js