Skip to content

4440449/Mom_Exhale

Repository files navigation

#мамавыдохни

Основной модуль проекта #мамавыдохни

Приложение будет полезно молодым мамам, которые сталкиваются с распространенными проблемами по уходу за ребёнком и нуждаются в информационной поддержке.

Основной модуль включает в себя подпроекты:

#мамавыдохни: напоминания
Получайте уведомления, которые содержат поддерживающую цитату дня. Сохраняйте понравившиеся цитаты в виде обоев для телефона.

#мамавыдохни: самоприкорм
Ищите продукты для первого прикорма с помощью быстрого поиска по базе с информацией о правильной подаче, содержании аллергенов и рекомендуемом возрасте для ребенка по системе BLW (современный метод ввода прикорма).

#мамавыдохни: трекер
Записывайте и отслеживайте динамику состояния вашего малыша перед сном и после сна, чтобы разобраться, что именно мешает малышу спать лучше.

Галереи «Блог» и «Базовые статьи»

Читайте статьи о физиологии детского сна, детско-родительских отношениях и привязанности.

Tech specs

  • Модульная архитектура, проект разделен на подпроекты, которые инъектятся через SPM обертку
  • MVVМ + R. Элементы Clean architecture
  • Каждый экран выделен в отдельную сцену со своим окружением (Configurator, ViewModel, Router)
  • Плоский Navigation Flow с Repository store container, подробнее здесь
  • DI для каждой сцены со сбокрой через static объект
  • Observing через собственную библиотеку
  • Network через собственную библиотеку
  • Backend - Supabase
  • Project Targets
  • UI - UIKit, кодом
  • Dark mode

Features

  • Навигация по модулям происходит через отдельный Конфиг объект, в котором инкапсулированы все зависимости. Делая свич по входящему ключу, Конфиг предоставляет ту или иную реализацию презентуемого модуля в виде его начального View Controller с полным окружением и зависимостями. Далее, полученный View Controller презентится модально.
    Схема:
    Alt text

  • Проект разделен на таргеты, переключая которые можно переходить в режим отладки, либо как самостоятельного проекта, либо как основного модуля для других проектов.

  • Сборка всего проекта без каких либо проблем, доп. подгрузок зависимостей (скачали - запустили).

  • Все четыре подмодуля построены на разных UI интерфейсах (UIKit Storyboard, UIKit code, SwiftUI). А также реализуют разную архитектуру (MVVM, MVP, Redux) с некоторыми ситуативными доработками, подробнее про каждый проект см. по ссылке выше в шапке файла.

  • Преимущества модульной архитектуры:

    • Переиспользование модулей в других проектах
    • Легкое выпиливание / отключение неактуального модуля
    • Удобство разработки / отладки модуля, как самостоятельного небольшого проекта, скорость сборки
    • Меньший размер модуля по сравнению с монолитным приложением

TODO

  • Authorization
  • In app handling dark mode
  • Article detail scene

Requirements

iOS 14.0 +
Xcode 13.2.1 +
Swift 5 +

HOW TO USE APP

Главный экран содержит несколько блоков: галерею из статей блога, галерею из базовых статей сайта #мамавыдохни и 3 модуля (мини-приложения) – 'Трекер сна’’, Напоминания', 'Прикорм'.

Releases

No releases published

Packages

No packages published

Languages