Camfrog Video Chat

Владелец:
Camshare, Inc. США
Платформы:
Windows, macOS, Android, iOS
База пользователей:
более 100М скачиваний, 200К пользователей онлайн
Сайт:
О проекте
Сервис аудио-видео чатов. Разработка начата нами с нуля в 2002 году, проект запущен в жизнь в 2003 году и продолжает развиваться по настоящий момент. Команда разработки: 30+ сотрудников, включая разработчиков, верстальщиков, тестировщиков, дизайнеров, системных администраторов.
  • Клиентские приложения для платформ Windows, Android, iOS, macOS
  • ВЕБ сайт для пользователей, плюс внутренний сайт для администрирования и управления системой
  • Центральный сервер, который реализует бизнес логику работы системы, поддерживает постоянные и сеансовые коннекты с клиентскими приложениями
  • Медиа сервера, которые обеспечивают координацию передачи и распараллеливание потоков передачи видео и аудио информации от пользователей
  • WTL/ATL/STL, C++17, CMake, Conan
  • CI/CD: Gitlab CI, слегка модифицированный GitFlow, Python, NSIS
  • В процессе миграции на Чистую Архитектуру с прицелом на замену UI-фреймворка
  • Активно внедряем юнит-тесты (gtest/gmock), приветствуем TDD (без фанатизма)
  • Есть комплект UI тестов
  • Основной язык Kotlin
  • Есть немного на Java, постепенно переписывается на Kotlin
  • CI/CD: Gitlab CI, GitFlow
  • Активно используем RxJava/RxKotlin
  • MVP + The Clean Architecture
  • Поддерживаем внутренний, общий фреймфорк для разработки, который позволяет быстро и удобно добавлять новые ui-модули и использовать их в двух разных проектах cо своими стилями и бэкендом
  • Retrofit2, OkHttp
  • Есть комплект UI тестов
  • Основной язык SWIFT
  • Есть немного кода на ObjectiveC, который планово переписывается на SWIFT
  • CI/CD: Gitlab CI, GitFlow, Codemagic
  • Придерживаемся подхода: Clean Architecture
  • Модульная архитектура
  • RxSwift, Swinject
  • Все разработчики активно участвуют в CodeReview
  • PHP7.4, Yii2, Vue.js v2, Doctrine 2.x
  • Постепенно переходим на Vue.js v3, в ближайших планах переход на PHP 8.x
  • Микросервисы на Golang и PHP Swoole
  • E2E-тесты и Unit-тесты
  • MySQL, MongoDB, Memcache, Redis, Kafka, Nats
  • Gitlab, CI, Docker, Kubernetes
  • Занимается обслуживанием высоконагруженных процессов для предоставления возможностей проекта онлайн пользователям, инфраструктура состоит из нескольких десятков серверов, на которых работают 30+ различных микросервисов
  • Написан на C++17, используются: Protobuf, CMake, Conan, gtest
  • Некоторые сервисы на Golang, планируется внедрение Rust
  • Микросервисная архитектура, брокер-сообщений NATS
  • Используем Gitlab CI/CD, Docker