This is the worker service that runs background jobs for the app.
- nodejs >= 20.5
- graphile-worker - background jobs runner for postgres
- ffmpeg 6.0 - image processing
- nodemailer - email sending
- exifr - exif data parsing
- @react-email - email templating with react
- juice - inline css and images in html
Each task is implemented as a separate worker.
All the tasks are located in src/tasks directory.
- convert-image - converts image to multiple sizes and formats, extracts exif data, uploads to s3, triggered by postgres trigger
- delete-image - deletes image from s3, triggered by postgres trigger
- notify-user - sends email notification to user, triggered by postgres trigger
- add tests
- split convert-image task into subtasks