This project was created to test my skills with PHP when I applied to Mailerlite company.
It is developed with KISS, DRY, and Fail-fast principles in mind.
Restriction
- Using a framework is not allowed, but feel free to use Composer
- Must be authenticated or authorized to use the API
- Using worker, queue, or message distribution
- Store all sent messages/emails in the database
My approach
- Use Docker and utilize microservices.
- Using OAuth2 for the authentication. (Point no. 2)
- A Queue using RabbitMQ with the help of supervisord to manage worker
- Stored in a PostgreSQL database