Тестовое приложение для редактирования изображений, которое позволяет импортировать изображения из галереи, применять к ним фильтры и рисовать при помощи Pencil Kit. Имеет авторизацию при помощи пары email/пароль через Firebase с возможностью регистрации и восстановления пароля.
Архитектура устроена по слоям:
- UILayer: Содержит SwiftUI Views для отображения, ViewModifiers для изменения внешнего вида элементов, ViewModels для взаимодействия с пользовательским интерфейсом.
- DataLayer: Содержит файлы для управления бизнес-логикой и состоянием приложения.
- NetworkLayer: Содержит файлы для взаимодействия с сетью.
- Utils: Содержит пользовательские расширения и вспомогательные функции.
- Xcode 12 или новее
- Swift 5.3 или новее
- iOS 17.0 или новее
- Клонирование репозитория:
git clone https://github.com/FirelCrafter/test_solution.git
- Открытие проекта в Xcode:
cd test_solution/test_solution open test_solution.xcodeproj
- Сборка на симуляторе или другом девайсе.
- Import Image: Импорт изображений из галереи.
- Apply Filters: К импортированному изображению могут быть применены различные фильтры (например, сепия, нуар).
- Draw on Image: Рисование прямо на изображении, используя PencilKit.
- Save Image: Сохранение изображения в галерею.
- Share Image: Поделиться изображением.
- HomeView: Главный экран, содержащий функционал редактора изображений.
- DrawingView: Пользовательский экран для отображения и рисования на изображении.
- ContentView: Экран входа.
- SignUpView: Экран регистрации.
- PasswordRecoveryView: Экран восстановления пароля.
- TextFieldModifier: Модификатор для текстовых полей.
- ButtonModifier: Модификатор для кнопок.
- AuthViewModel: Управляет состоянием и логикой для экранов авторизации.
- HomeViewModel: Управляет состоянием и логикой для HomeView.
- ImagePicker: Компонент для выбора изображений из галереи.
- ImageFilter: Применяет различные фильтры к изображениям.
- DrawingView: Компонент для рисования на изображении.
- ContentView: Основной экран контента.
- PermissionsManager: Обрабатывает разрешения на доступ к фото библиотеке и камере.
- Toast: Отображает временные уведомления.
- Улучшение производительности при применении фильтров.
- Добавление новых фильтров и эффектов.
- Поддержка многослойного редактирования изображений.
- Интеграция с облачными сервисами для сохранения изображений.
Этот проект лицензирован под MIT License - подробности см. в файле LICENSE.
E-mail: [email protected]
Telegram: @mikhail_ios
Developed with ❤️ by Mikhail Shcherbakov