Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HeadHunter Clone

Урезанный клон iOS приложения HeadHunter (приложение для портфолио)

Подходы / Технологии / Архитектура

UI фреймворк: SwiftUI (таргет iOS 17+)

Архитектура: MVVM + Clean Architecture с в Model

Пакеты:

  • SwiftUI-Shimmer
  • YandexMapsMobile

Менеджеры зависимостей / пакетов:

  • Cocoa Pods
  • Swift Package Manager

Структура приложения

  • Экран логина
  • Экран ввода кода
  • Экран поиска вакансий
  • Экран вакансии
  • Экран (bottom sheet) отправки отклика на вакансию
  • Экран DevTools (переключение окружения и функций для разработки)

Планы

  1. Внедрить координатор
  2. Доработать DI (или переделать на Swinject)
  3. Внедрить логирование ошибок и запросов к API
  4. Реализовать показ ошибок как уведомления
  5. Сделать валидацию email при логине + подключить API на экранах логина
  6. Вынести языковые фразы в localize
  7. Сделать форматтеры для форматирования отдельного контента
  8. Сделать общее хранилище вакансий, чтобы синхронизировались на разных экранах
  9. Вынести Model в отдельный модуль / или разбить по слоям (возможно)

Экраны: 10. Экран пользователя 11. Экран Избранного (+ экран подборок вакансий) 12. Экран карты (открывающейся с экрана вакансии) 13. Подключить шеринг вакансии

Установка

  1. Склонировать репозиторий:

    git clone https://github.com/anvein/hhclone_test
  2. В директории проекта установить зависимости:

    pod install
  3. Установить Node JS, npm, Express (для запуска Node JS сервера - локального API)

    brew install node
    
    # Должны появиться версии Node.js и npm.
    node -v
    npm -v
    
    npm install express

Запуск

  1. Перейти в mock-api/

  2. Запустить Node JS сервер (реализует локальный API)

    node server.js
    # Сервер стартует на http://localhost:3000
  3. Открыть: HHClone.xcworkspace + запустить приложение

About

Урезанный клон iOS приложения HeadHunter на SwiftUI (приложение для портфолио)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages