Customers: Rukami Public and non-profit structures Contractors: Webpractik, Studio Artemy Lebedev Product: Yandex.Cloud Virtual Computing Infrastructure ServicesSecond product: Kubernetes Third product: MySQL Project date: 2020/06 - 2020/11
|
Content |
2020: Development of an interactive high-load platform
The company "Webpractic" March 9, 2021 announced the development of an interactive high-load platform for the international cyber festival Rukami. The customer for the project was the National Technology Initiative Project Support Fund.
In 2020, many of the festival's activities had to be transferred from offline to online format. Therefore, the customer decided to turn the site into a full-fledged interactive platform on which the action would unfold.
Tasks
Among the tasks set by the customer were the following:
- To develop the platform
- Start Personal Account System
- Implement game mechanics from the task
- Ensure uninterrupted operation of the resource during the festival days
The Rukami festival already had a site, but it was not designed for heavy loads. In fact, it was a simple information site with minimal functionality. To conduct all online activities "at one address," the customer decided to make a complex platform from the old site with a personal account system, integration with Youtube for live broadcasts, and game elements. The platform was supposed to replace a full-fledged offline festival and withstand a load of 50 thousand visitors at a time.
Difficulties
- Short terms: 6 months per scope of work, which usually take about a year;
- Development of a highly loaded platform with a high degree of fault tolerance;
- Different project contractors have different concepts.
Project results
The UI application on Reaction contains a user interface for all services of the project: user registration, personal account, portal, activities. Is the project entry point for all users. Implemented as SPA on React. It works using the HTTP/HTTPS protocol, requesting data from backend services through the API.
Festival participants can communicate with each other using the messaging service. This is an application with intensive data exchange on Nodejs, using the Express and Socket.IO. frameworks. The messaging service operates asynchronously using the HTTP/HTTPS protocol, through WebSocket, directly interacting with the database.
A registered user can add his project to the festival competition, offer a speaker or other activity to the program. A user with administrator rights checks the proposed projects and gives comments on them, makes a public poster, can upload databases, correct other people's "accounts" (change the user role).
Together with the subcontractor, the team did a great job in developing an updated design for the festival. Only for registration, designers prepared 11 layouts. Webpractic worked on the inside of the platform, and Lebedev Studio was responsible for custom design. It turned out two completely different concepts that were to be friends with each other. As a result, the navigation system from the public part was introduced into the inside of the platform.
To protect the platform from DDoS attacks and for the sake of increased fault tolerance, site microservices were placed in Yandex Cloud, files in Yandex Object Storage.
In general, according to the results of the project:
- created an interactive platform that can withstand heavy load;
- 2 days of uninterrupted operation provided;
- 220 online activities are available on the platform.
Technologies
Among the technologies used in the project: Kubernetes, Laravel Framework, React, Sass, Node.js, PHP, SSR, TypeScript, Mobx, Socket.io, MySQL, Redis, GitlabCI, PWA.