Skip to content

borisverbitckii/MyChat

Repository files navigation

MyChat

Мессенджер на базе webSockets + сервер для webSockets на golang.

Приложение для демонстрации кодоорганизации и навыков.

Возможности:

  • Авторизироваться/регистрироваться с Google/Facebook/Apple/Email с возможностью подтверждения email
  • Искать пользователей для общения
  • Оформлять личный аккаунт(изображение/имя)
  • Вести переписку
  • Менять светлую/темную тему
  • Настраивать удаленно цвета/шрифты/тексты с помощью push уведомлений в режиме реального времени

Ссылка на AppStore: https://apps.apple.com/us/app/myownchatapp/id1635556485

Скриншоты

Видео демонстрация

https://youtu.be/bcHw3vSEdbg

Особенности:

  • Микросервисная архитектура
  • Подсчет layout в фоновом потоке (Texture)
  • Кастомный activity indicator с анимацией Lottie
  • Кеширование скачанных изображений
  • Написанный на golang сервер для обмена сообщениями по webSockets

Техническая часть

Архитектура - MVVM + C

Технологии:

  • WebSockets
  • Асинхронный расчет layout
  • GCD, NSOperation
  • NotificationCenter
  • Самописанный логер с возможностью вести запись в файл, а также отправкой данных в Firebase Analytics и Firebase Crashlytics

Паттерны:

  • Coordinator
  • Factory
  • Builder
  • Singleton
  • Delegate
  • Facade

Библиотеки:

Зависимости - Cocoa pods

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published