Skip to content

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

Notifications You must be signed in to change notification settings

anvein/hhclone_test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Watchers

Forks

Releases

No releases published

Packages

No packages published