John Costa 8b6b9453a8 refactor: creating image process to handle processing of images
Decoupling this from the DB, it's a good step.

Not yet perfect however.
2025-09-14 17:42:16 +01:00
..
2025-08-25 14:23:57 +01:00
2025-08-30 10:45:53 +01:00
2025-08-30 10:45:53 +01:00
2025-03-21 14:49:51 +00:00
2025-03-21 14:49:51 +00:00
2025-05-08 09:52:46 +01:00
2025-08-25 15:30:34 +01:00
2025-02-24 21:04:25 +00:00

Running the backend

  1. Create a .env.docker file, which must contain the following.

OPENAI_API_KEY=openai_key DB_CONNECTION=postgresql://postgres:password@database:5432/haystack_db?sslmode=disable

  1. Use docker-compose up to spin up the containers.

You should be able to access the backend through port 3040

Methods

For now, we cheat and add a userId header which if os type UUID. Use the auto generated test one (fcc22dbb-7792-4595-be8e-d0439e13990a).

  • GET /image | Returns all of the users image, including tags, links and text any image contains.
  • GET /image/{imageId} | Returns the actual image, use this to display images in the UI.
  • POST /image/{imageNameWithExtension} | Sends an image to the backend, saves it and sents it to open ai to later process.

Architecture

  1. The user posts an image, which gets saved on our database (all data, including images are saved on DB).
  2. We listen for table event creation, and we can process this image by sending it to OpenAI.
  3. After OpenAI responds, we write to the database.

This means that for now, we don't have a notification system to tell the user when their image is done processing. But will do in the future.