2023-03-06 17:09:28 +03:00
2023-03-06 17:03:37 +03:00
2022-09-01 20:12:24 +03:00
2023-03-06 11:27:01 +03:00
2023-03-06 16:51:17 +03:00
2022-08-30 22:22:35 +03:00
2022-08-14 21:51:04 +03:00
2021-06-06 23:18:04 +03:00
2022-08-30 22:22:35 +03:00
2021-04-17 11:09:08 +03:00
2022-09-07 20:13:47 +03:00
2022-08-14 21:51:04 +03:00
2022-08-30 22:22:35 +03:00
2022-08-30 22:22:35 +03:00
2023-02-26 18:58:01 +03:00
2023-03-06 16:51:17 +03:00
2023-03-06 17:09:28 +03:00
2023-03-06 16:51:17 +03:00
2022-08-14 21:51:04 +03:00

scenery

a photo gallery with extended search capabilities
https://scenery.cx
Consists of scenery (photo gallery engine) and ambience (Reverse image search/similarity search engine)

How it works: how_it_works_scenery.md

#OLD: How it works: https://habr.com/ru/post/578254/ [RU]

Features

  • Search by tags (supports logical expressions, https://scenery.cx/search_syntax)
  • Semantic text search
  • You can find images with similar tags, color pallete or visuals/semantics
  • Reverse image search
  • Image anti-duplication mechanism
  • Automatic tagging and captioning
  • IPFS support (using additional microservice)

Current stack:

  • Node.js + TypeScript
  • ambience
  • Fastify
  • MongoDB
  • Next.js
  • MUI
  • sharp

Installation

  1. Clone the repository
  2. npm install
  3. npm run bootstrap
  4. install ambience

Docs

npm run build -> build everything
npm run build_pages -> build next.js pages and some of backend code
npm run build_server -> build .ts files
npm run import_tags -> import tags from /import/id_tags.txt (generated by places365_tagger_web)
npm run import_captions -> import captions from /import/id_caption.txt (generated by image_caption_web)

npm run import_images -> import images
args:
--path=/path/to/image_folder -> imports images from the path, if not specified, default path - /import/images/
--use_filename_id -> parses image id from file (file name must be an unique number > 0), if not specified, uses sequential id
--bypass_ambience -> do not perform calculation of tags,captions, ambience features and duplicate check

Languages
TypeScript 94.4%
Python 3.8%
JavaScript 1%
Dockerfile 0.3%
Shell 0.3%
Other 0.2%