Design a system to send sms, mail and invoice after order is placed.
The individual components should run as independent microservice to make it scalable. If invoice is generated successfully, order mail should have invoice attached, otherwise a footer message "We will send invoice soon" should be present. And then you send invoice later when it gets generated.
Only then proceed to implementing a subset of this (to be discussed over design review call)
Feel free to use some micro framework.
Use OOP and keep architecture clean. Share the code with us in a github repo. Also preferably, share it in the beginning itself so that we can monitor progress.
Bonus points for handling edge cases and errors.