McCann is a world-renowned US-based network of advertising agencies that operates in 120 countries through its local offices. Along with a number of other big names in advertising and digital marketing, McCann forms the core of the McCann Worldgroup. In March 2020, Fast Company, one of the leading business and technology magazines in the US, named McCann Worldgroup to its list of The World’s Most Innovative Companies.
In 2020, McCain was planning to introduce a new software product – content-management system (CMS) for scientific research posters (http://demo.scienceposterplus.com/ ). The development of the product, also known as the Poster Application, was started by their in-house developers.
One of the most significant challenges they were trying to solve internally was to follow the best software standards in security and scalability, including the corporate standards of the company itself. Moreover, a multitenant database was required. The architecture also needed to be stable enough to handle a very big application load.
Unfortunately, the lack of solid expertise in the field of CMS software forced McCann to look for an external software partner.
ITIDO’s involvement began by performing a code review, i.e. auditing the in-house platform. The goal was to assess the current state of the architecture and look for ways to improve the following aspects of the Poster Application:
1. Source code and database review
2. Platform security
3. Architecture scalability
4. Future extensibility of the application
For the audit ITIDO used SonarQube – an open-source tool for ongoing inspection of code quality and automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities.
Following the recommendations of the code review and the SonarQube analysis, ITIDO’s team started with improving the software architecture, bug fixing, and solving security-related issues.
The decision we took with McCann was to use AWS for a cloud provider and to rely extensively on Cognito, the AWS service for authentication and authorization. All the information regarding the user roles, permissions, and private data were stored in Cognito. Therefore, the application could be hosted anywhere without worries: user data was stored in AWS following all McCann security standards (here is how the integration looks like:
ITIDO’s further contribution
ITIDO also implemented Matomo analytics as a primary tool for collecting data in a private and secure way thus replacing the Google Analytics integration.
Doctrine ORM was integrated with the current platform for database storage and object mapping. Every single query to the database was handled by Doctrine – one of the best available tools for Object Relational Mapper (ORM) for PHP.
After 6 months of active development, the product was ready to go into production mode. Our team which made this success a reality consisted of 5 experts:
- 2 Senior FullStack developers
- DevOps engineer
- Quality Assurance engineer
- Project Manager
Technologies we used:
- PHP (CodeIgniter)
- AWS Cognito
- AWS S3