Simple Scalable Email Services
December 23, 2020
This project was created to test my PHP skills when I applied to MailerLite. It is built with KISS, DRY, and fail-fast principles in mind using Laravel as the foundation.
Restrictions
- Using a framework is not allowed, but Composer is fine.
- Must be authenticated or authorized to use the API.
- Must use a worker, queue, or message distribution system.
- Store all sent messages and emails in the database.
My approach
- Use Docker with a microservices architecture.
- OAuth2 for authentication (point no. 2).
- RabbitMQ as the message queue with supervisord managing workers.
- PostgreSQL for persistent storage.
Simple Scalable Email Services
Built on Laravel with a queue-driven architecture to handle high-volume email dispatch asynchronously.
Update: I am not selected for the position because I overengineered this, it should be a simpler solution. Just use Laravel's built-in queue system.
Repository