In brief
-
01
Kind of tool
CodeIgniter — PHP Framework
-
02
Where it’s used
Large Canadian content provider
-
03
Why we chose it
In 2013 it became the most advanced framework, and it still does its job well.
Most functions can be overridden and extended through the use of classes
Console commands enable it to work with other frameworks
Works with .po/.mo file formats for system localization
-
04
Company results
40 million published videos
2 billion ad impressions per month
Support for 30 languages
350 thousand users online every day
350 thousand users online every day at Canadian content provider
Our customer is the largest content provider in Canada. One of their projects is an entertainment service: more than 40 million published videos and 350 thousand online users every day.
Service functions
-
Display of different types of advertising: pop-ups, videos, banners
-
Collection of various statistics on user interaction with videos: views, where they stopped, where they rewound
-
Data storage
-
Provide reports
With the help of an advertising agency, the service receives income from ad impressions. As of mid-2021, there are generating more than 2 billion ad impressions per month.
Benefits of using CodeIgniter
To develop the service, we chose the CodeIgniter framework, which became popular in 2013. At the time, it was the only framework capable of handling project tasks. In 2021, we continue to maintain the codebase on CodeIgniter, although we have reduced the scope of its application i.e., using it for operations with user panels. It would be senseless to stop using the framework as it still manages its tasks very well.
You can quickly create new entities. For example, for emojis with video content or user profiles.
Protects against sudden service drop for users. Before releasing an updated version of the service for users' computers, our developers test it in a specialized environment. This negates the possibility that a developer could make a mistake and accidentally release an unfinished version of the service «into battle» instead of in a testing environment. In such a case the service for users could crash and cease operating.
There is a phing utility in CodeIgniter: it generates system settings depending on the environment, and eliminates the error of incorrect launch. For example, you can create several parameters of different types for the environment, where addresses will be specified for connecting to the Database, Aerospike, and Redis. By choosing an environment, you can quickly generate the necessary configuration files based on a template, instead of manually entering all the data.
Allows you to add new functions and refine the system. When used correctly, CodeIgniter can compete with more advanced frameworks, perform business tasks, and doesn’t require a lot of resources.
Most of the functions can be overridden, or by using its own classes.
For example, there is a base class CI_Input, which is responsible for data received from the user, such as requests to download files. The MY_Input class from CI_Input has been added with new filtering rules and methods.
This is where user data is processed and errors are displayed. In the overridden class, the method is extended and checks not only the data, but also the method of their presentation.
Compatible with popular databases. CodeIgniter allows the system to interact with the MySQL database, Aerospike, Redis, and microservices.
With Phinx, you can commit and roll back database changes without using SQL, and receive a migration report.
Allows you to translate the service into different languages. The service is used in 40 countries, so the developers have given it the ability to translate content into different languages.
Results of working with CodeIgniter: we’ve been supporting a growing system for over 8 years
OrbitSoft started working on the project in 2013. Since that time the load on the system has grown tenfold. The system works, and continues to evolve, as we continue to support and refine it.
The company earns revenue from the service from many different countries. The service is localized into 30 languages. More than 350 thousand users from different countries turn to it every day. CodeIgniter helps us output translations of text from repositories.
The service attracts more new users. Users can rank videos according to their preferences, with the service able to display content based on personal recommendations. The CodeIgniter framework is used to work with custom panels.
Technical unit
- CodeIgniter
Programming languages:
- PHP
- JS
Libraries:
- jQuery
- Zend
- NodeJS
- Grunt
Databases:
- MySQL
- Aerospike
- Redis