Skip to content
Alexandre Saiz Verdaguer edited this page Apr 23, 2016 · 5 revisions

MoonMail

This is the main Wiki for the MoonMail core, which includes all the services.

Architecture

MoonMail is entirely developed using the Serverless Framework. The project has two components: api and events. The former holds the REST API used to communicate with the app, by any frontend or mobile app. Events contains the whole business logic of the application.

API component

TODO

Events component

  • [Lists & recipients](Lists & recipients): it's a service that handles the management of lists/recipients. Actions like list un/subscribe, bounce, spam report, update the recipient status within the DB. CSV/xls import of recipients hit also this API. All data is stored within a DynamoDB.
  • Campaigns: it's a service that handles the management of campaigns.
  • Sender: this service’s duties are, primarily, composing emails and sending them. It reads emails to be sent from SNS, it composes them (which involves parsing liquid tags) and sends them through SES.
  • Links: all the links in an email/campaign are parsed so that they hit the Links service first, which forward the user to the correct URL and register that click, by incrementing the clicks counter.
Clone this wiki locally