An asynchronous API built with Go to explore Amazon SQS and background job processing.
- Asynchronous API design
- Amazon SQS
- Background workers
- SQS visibility timeout and retries
- Message processing and acknowledgement
- Idempotent job processing
- PostgreSQL for job state
- S3 for generated reports
- Go
- Amazon SQS
- PostgreSQL
- Amazon S3
Built primarily as a hands-on project for understanding Amazon SQS and asynchronous job processing.
The application reads its settings from app.yaml. This file contains the
database connection settings, server settings, and AWS configuration.
docker compose up -d driftdb
make runFor integration tests, start the isolated database and run the tests:
make test-db
make testKeep production credentials out of a committed app.yaml; use a deployment-
specific configuration file or a secret-management approach before deploying.
