Заказчик и задача
Задача
Реализовать международную платформу для игры в шахматы онлайн, с возможностью просмотра повторов сыгранных игр, рейтингом участников, профессиональными и любительскими турнирами. Также реализовать раздел для обучения шахматам и нововведение в мире шахмат - парные и коллективные игры.
- Нагруженный
- UI/UX
- Разработка сайта
Работа над проектом
Пожелания заказчика были в том, чтобы сайт имел игровой, и в то же время представительский вид, а главной особенностью стали профессиональные турниры.
Этапы разработки
Разработали концепцию и фирменный стиль сайта. Проект
начинали разрабатывать на Laravel + Vue.js с использованием
Pusher для взаимодействия игроков.
Изначально была разработана игровая доска, затем от неё
проект начал обрастать новым функционалом.
Проблемы и решения
В процессе создания столкнулись с проблемами скорости передачи данных между игроками из-за использования неправильных для проекта технологий и было принято решение отказаться от Pusher в пользу микросервиса на базе Node.js с использованием Socket.IO, что позволило в 10-ти кратном размере увеличить скорость передачи данных между пользователями и сервером.
Для внедрения данной технологии потребовалась адаптация других элементов проекта. Laravel - отвечает за генерацию игр и распределение турнирных сеток. Node.js - за взаимодействие игроков между собой, как в игровой комнате, так и на всём сайте, за обмен всеми сообщениями и событиями. Vue.js + Vuex - по новому и быстрее отрисовывает интерфейс всего сайта.
Результат разработки
На сайте проводятся регулярные международные профессиональные турниры между обычными пользователями, шахматными клубами и федерациями, а также между ведомственными организациями. Сайт Profchess.com набирает обороты и развивается. На данный момент работы по сайту всё ещё ведутся. Улучшается текущий функционал и добавляется новый.