
We were approached by a regional advertising company to develop a system for displaying commercials on professional panels installed at gas stations, shops, and roadside cafes.
Prior to that, the company received orders from advertisers, after that the company's engineers downloaded media files to flash drives and delivered them to the points where it was necessary to show ads. Such a process took a lot of time and effort from employees, so it was decided to automate business processes.
Each authorized advertiser can upload their advertising content, select professional panels on which they want to show ads and the frequency of display. Further, the system calculates the cost of placement, the client pays the bill and the advertisement is broadcast.
During the project we developed:
The server part was written in PHP / Laravel and MySQL, we used a third-party CDN server to optimize the load on our server, since video streaming to a large number of devices is a very high-load solution, and its development was not economically justified within the project.
The admin panel is written in PHP/Yii2, we used google maps to display screens on the map, and the interface is developed based on standard bootstrap blocks.
The mobile application is developed in Kotlin language, it should determine where the device is located using the standard Android SDK, used the ExoPlayer player to play media content. Each device is registered in the application, and the device account is linked to the serial number of the device.
As a result of the project, the Client reduced the cost of setting up content on screens by one and a half tons of gasoline per month and provided its advertisers with a flexible tool for placing outdoor advertising on screens.
The project involves further development of integration with CV (computer vision) systems for detailed analytics of ad views on each specific screen, but this part has so far been implemented only as a technical prototype that counts faces directed at the screen.