photo gallery with advanced search capabilities
 
 
 
 
 
 
Go to file
qwertyforce fcfd622e3b
Update mongo.md
2023-03-06 11:27:01 +03:00
images_md add how_it_works.md 2022-09-01 20:12:24 +03:00
misc Update mongo.md 2023-03-06 11:27:01 +03:00
src security fixes 2023-02-26 18:58:01 +03:00
tools scenery is working again 2022-08-30 22:22:35 +03:00
.eslintrc.js updated all dependencies 2022-08-14 21:51:04 +03:00
.gitignore Update .gitignore 2021-06-06 23:18:04 +03:00
LICENSE Create LICENSE 2022-09-07 20:13:47 +03:00
README.md Update README.md 2023-02-23 22:21:00 +03:00
additional.d.ts scenery is working again 2022-08-30 22:22:35 +03:00
ecosystem.config.js fixes 2021-04-17 11:09:08 +03:00
how_it_works_scenery.md Update how_it_works_scenery.md 2022-09-02 13:22:21 +03:00
next-env.d.ts updated all dependencies 2022-08-14 21:51:04 +03:00
next.config.js scenery is working again 2022-08-30 22:22:35 +03:00
nodemon.json scenery is working again 2022-08-30 22:22:35 +03:00
package-lock.json security fixes 2023-02-26 18:58:01 +03:00
package.json Bump fastify from 4.4.0 to 4.8.1 2022-10-11 18:54:40 +00:00
tsconfig.json updated all dependencies 2022-08-14 21:51:04 +03:00
tsconfig.server.json updated all dependencies 2022-08-14 21:51:04 +03:00

README.md

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_with_check -> import images from /import/images with duplication check and calculation of ambience features, including tags and captions
npm run import_without_check -> import images from /import/images without duplication check and calculation of ambience features, including tags and captions
if you add "-- --use_filename_id" to these npm scripts, image_id will be extracted from file name. File name must be an unique number > 0