Мессенджер на базе webSockets + сервер для webSockets на golang.
Приложение для демонстрации кодоорганизации и навыков.
- Авторизироваться/регистрироваться с Google/Facebook/Apple/Email с возможностью подтверждения email
- Искать пользователей для общения
- Оформлять личный аккаунт(изображение/имя)
- Вести переписку
- Менять светлую/темную тему
- Настраивать удаленно цвета/шрифты/тексты с помощью push уведомлений в режиме реального времени
Ссылка на AppStore: https://apps.apple.com/us/app/myownchatapp/id1635556485
- Микросервисная архитектура
- Подсчет layout в фоновом потоке (Texture)
- Кастомный activity indicator с анимацией Lottie
- Кеширование скачанных изображений
- Написанный на golang сервер для обмена сообщениями по webSockets
- WebSockets
- Асинхронный расчет layout
- GCD, NSOperation
- NotificationCenter
- Самописанный логер с возможностью вести запись в файл, а также отправкой данных в Firebase Analytics и Firebase Crashlytics
- Coordinator
- Factory
- Builder
- Singleton
- Delegate
- Facade
- CoreData
- RxSwift (https://github.com/ReactiveX/RxSwift)
- Texture (https://texturegroup.org)
- Lottie (https://github.com/airbnb/lottie-ios)
- Firebase Auth (https://github.com/firebase/firebase-ios-sdk)
- Firebase RemoteConfig (https://github.com/firebase/firebase-ios-sdk)
- Firebase Analytics (https://github.com/firebase/firebase-ios-sdk)
- Firebase Crashlytics (https://github.com/firebase/firebase-ios-sdk)
- Firebase Storage (https://github.com/firebase/firebase-ios-sdk)
- Firebase Messaging (https://github.com/firebase/firebase-ios-sdk)
- GoogleSignIn (https://github.com/google/GoogleSignIn-iOS)
- FBSDKLoginKit (https://github.com/facebook/facebook-ios-sdk)
- SwiftLint (https://github.com/realm/SwiftLint)
- Periphery (https://github.com/peripheryapp/periphery)