Web App Development

Social media data digesting and visualisation.

Project Background

Digital marketing campaigns have become the primary focus for brands due to the increasing popularity of social media platforms like Instagram, Youtube, Facebook, Twitter, and others. The amount of data required for analyzing marketing performance is immense. This project aims to collect, organize, categorize, transform, and store the data streaming from various platforms into a data warehouse. By doing so, valuable business insights can be extracted from this vast ocean of data.

Below are some user interfaces in this project, showing brands/accounts performance in social media.

Challenges & Requirements

Designing the architecture and solution details for this project, issues were outlined and following points are evaluated and discussed in the team.

Frontend was created in Angular, Bootstraps, JQuery and Html. Data visualisation is built on top of D3 components and Crossfilter library is used to manage multivariate datasets in browser.

Docker is used for micro-services deployment and CI/CD for faster product interations. To support data scienctists, multi-layer architecture was designed.

Actions & Outcomes

To achieve the unificaton of streaming data, the adapter pattern design is used to convert each data source (platform) to the unified model which cover most of concepts. This way the objective is accomplished. Adapter module involves inheritance and concerns in Ruby.

With high testing coverage and code review, software quality is ensured. The data pipeline is able to help data scienctists to understand the business information and deriving business value from the data. Consultants are able to perform analysis, look for patterns, runn reports, provid insights and advice on an ongoing basis.

Vincent's intellectual and technical talents have been recognised consistently throughout his career. Precise, efficient and enthusiastic.

Technologies Used

Data digesting system is built in Ruby/Resque and later on refactored in Node.js/Bull.js, Redis for tasks storage. Rails is used to build web app with Postgresql as the database. Frontend includes Bootstraps, JQuery, Angular, etc. Unstructure data is kept into MongoDB for analytic purposes.

Conclusions

The data digesting micro services have been orchestrated in docker swarm in AWS. Daily data coverage over 20K brands makes sure the business insights are timely and comprehensively delivered. The unit testing and system testing have improved code design and resulted in less disruption in upgrading APIs.

Interested in hiring me for your project?

Looking for an experienced full-stack developer to build your web app or ship your software product? To start an initial chat, just drop me an email at vincent.zhu@storytreat.com or use the form on the contact page.