Урезанный клон iOS приложения HeadHunter (приложение для портфолио)
UI фреймворк: SwiftUI (таргет iOS 17+)
Архитектура: MVVM + Clean Architecture с в Model
Пакеты:
- SwiftUI-Shimmer
- YandexMapsMobile
Менеджеры зависимостей / пакетов:
- Cocoa Pods
- Swift Package Manager
- Экран логина
- Экран ввода кода
- Экран поиска вакансий
- Экран вакансии
- Экран (bottom sheet) отправки отклика на вакансию
- Экран DevTools (переключение окружения и функций для разработки)
- Внедрить координатор
- Доработать DI (или переделать на Swinject)
- Внедрить логирование ошибок и запросов к API
- Реализовать показ ошибок как уведомления
- Сделать валидацию email при логине + подключить API на экранах логина
- Вынести языковые фразы в localize
- Сделать форматтеры для форматирования отдельного контента
- Сделать общее хранилище вакансий, чтобы синхронизировались на разных экранах
- Вынести Model в отдельный модуль / или разбить по слоям (возможно)
Экраны: 10. Экран пользователя 11. Экран Избранного (+ экран подборок вакансий) 12. Экран карты (открывающейся с экрана вакансии) 13. Подключить шеринг вакансии
-
Склонировать репозиторий:
git clone https://github.com/anvein/hhclone_test
-
В директории проекта установить зависимости:
pod install
-
Установить Node JS, npm, Express (для запуска Node JS сервера - локального API)
brew install node # Должны появиться версии Node.js и npm. node -v npm -v npm install express
-
Перейти в mock-api/
-
Запустить Node JS сервер (реализует локальный API)
node server.js # Сервер стартует на http://localhost:3000 -
Открыть: HHClone.xcworkspace + запустить приложение