- At the root of the repo, run
sudo chmod +x init.sh
- At the root of the repo, run
./init.sh
- Run
docker compose up --detach --build
- Go to
http://localhost:3000
The email delivery feature is not going to work initially, AWS credentials with permissions to SES are required and not provided in this repo. All the other features are going to work.
If you want the email delivery feature to work, follow the instructions below:
- Login into you AWS account
- Go to IAM
- Create a new user
- Give the user the following permissions:
- AmazonSESFullAccess
- Create the user
- Create an access key for the user
- Copy the access key and secret key
- Paste the access key and secret key into the backend/.env file
- Go to AWS SES Admin Console
- Verify the email address you want to send emails from
- Add the email adress to the backend/.env file
- Run
docker compose up -d --build
again
If you do not want to follow the steps above, we can test the application during the next interview.
- Send emails concurrently in SESNewsletterDispatcher
- The MVP is fragile, the lack of testing might improve this
- Indexing the scheduled_at field in the DB
- Better handling of closing connections to the DB
- Extend the NewsletterRepo with batching capabilities
- Remove non-structured logging from fastapi
- Add global error handling and logging for the API
- Delete Newsletter feature