Хочу помочь

Приложение отражает список благотворительных мероприятий, которые проводятся в ближайшее время.

Ниже представлен стэк технологий.

🌐 Сеть:

  • Реализована возможность работы с Alamofire, URLSession.

  • Написан отдельный сервис для данных из сети с мини-бэка на Firebase.

  • В случае отсутствия соединения/ошибки сети данные берутся из моков.

📖 Базы данных:

  • Предусмотрена работа с 2 типами баз данных - Realm и CoreData, определяется по логическому флагу.

  • При загрузке данных из сети автоматически сохраняются в БД и в дальнейшем берутся оттуда.

💻 Многопоточность:

  • Все тяжелые операции по сохранению в БД и загрузке из сети проводятся в бэкграунд потоке.

🗃️ Архитектура:

Для различных модулей применена разная архитектура. Изначально написано на MVC, в последствии переделывалось.

  • MVC - DetailEvent

  • MVP -> MVVM + RxSwift - HelpCategories

  • VIPER - CharityEvents

  • Реализован AppCoordinator.

🏴󠁶󠁥󠁷󠁿 DI:

  • DI реализован через AppCoordinator + Configurator.

  • Каждый модуль конфигурируется с прокидыванием зависимостей отдельно.

📱 UI:

  • Верстка Storyboard только splash-screen, остальное кодом

  • Дизайн Pixel-Perfect по макету Zeplin

  • Коллекции через Compositional Layout + Diffable data source

  • Кастомный UITabBarController

  • Загрузка данных происходит на сплэш-экране

  • Кастомные шрифты.

⚛ RxSwift:

  • MVVM + BehaviorRelay + Bindings

🎬 Демо:

alt text