Skip to content

MudriyIlya/MemeGenerator

Repository files navigation

Meme Generator

Итоговый проект для "Сбер Школы iOS"

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

Экраны

В приложении реализовано 5 экранов:

Библиотека мемов - тут хранятся созданные мемы (в файловой системе).

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

Настройки - тут можно сменить тему на черную.

Выбор шаблона - Шаблоны приходят с сервера написаного на VAPOR и расположенного на Heroku.

Экран редактирования - На данном экране можно добавить текст или фото к шаблону мема.


Использование сети

Для получения данных из сети интернет был написан свой backend на VAPOR'е на языке Swift.


Хранение данных

Если нет сети интернет, то из Core Data достаются последние загруженные данные, а для хранения темы приложения используется UserDefaults.


Для контроля качества стиля кода был использован SwiftLint


Что должно быть в приложении

  • Использовать Core Data для хранения моделей данных
  • Использовать KeyChain/UserDefaults для пользовательских настроек
  • Использование Swift styleguides (Google styleguides)
  • Не использовать сторонние библиотеки (кроме snapshot-тестов)
  • Использовать сеть
  • Отображение медиа (аудио, видео, изображения) из сети
  • Минимальное количество экранов: 3
  • Обязательно использовать UINavigationController/TabBarController
  • Deployment Target: iOS 13
  • Покрытие модульными тестами 10% и более
  • Хотя бы один UI-тест через page object
  • Хотя бы один snapshot тест (разрешается использовать внешнюю библиотеку)
  • Использование Архитектурных подходов и шаблонов проектирования
  • Верстка UI в коде
  • Обязательно использовать UITableView/UICollectionView
  • Кастомные анимации
  • Swiftlint
  • Системы аналитики и анализа крэшей ( с использованием сторонних зависимостей )

About

Просто самый классный Meme Generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages