Goal
The project is designed to collect and analyze data by email addresses.
The service allows for aggregate accounts of 6 email/marketing providers as MailChimp, GetResponse, Campaign Monitor, AWeber, InfusionSoft, Active Campaign, import lists of email addresses and get social and financial information from TowerData API and Full Contact.
The major task of the service is calculation and visualization of statistical (calculation) data in graph and widget form.
Also, there is an option to send obtained data and calculation data back to the email/marketing providers via their APIs.
Main features:
1. User registration, online payment via Stripe. Division of services provided among subscriptions plans – Light, Plus, Premium;
2. Widget management system and dashboards customization;
3. Ability to import data from mail services: Mailchimp, ActiveCampaign, Aweber, GetResponse, CampaignMonitor;
4. Import data from CSV file;
5. Mail services accounts management system;
6. Collecting data about email addresses from TowerData and Full Contact with automatic data synchronization once in 3 months;
7. Construction of graphs (widgets) about selected lists of email addresses. Using 15 different widgets according to subscription plan;
8. Ability to filter data for real time display;
9. Ability to compare lists added by a user;
10. Ability to export to CSV file;
11. Ability to create additional tags/labels for email addresses and send to mail services;
12. Content and user management system for administrator.
Solution
Having analyzed the requirements of the client, we decided to use PHP framework Laravel in backend and VueJS 2 in frontend. MySQL and MongoDB were chosen as databases. MySQL is used to store user data and web framework.
MongoDB is used for storing data imported from third-party services. This database is ideal because the data has a different structure and has a document-oriented structure.
For operations with API of mail services, we used official libraries with further modification.
Team
- backend developer;
- frontend developer.