Skip to content

Тестовое задание для соискателей на позицию mobile-разработчика в Gratio

Notifications You must be signed in to change notification settings

Gratio-tech/Mobile-Test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Gratio Mobile Developer test

Описание

Тестовое задание на позицию mobile-разработчика в компании Gratio. Данное задание можно выполнять на удобном вам языке и фреймворке (Kotlin/Swift/Flutter/ReactNative), нам важна не конкретная технология, а результат.
Цель данного задания — проверить базовые навыки разработки мобильных приложений: умение работать с API, проектировать архитектуру, реализовывать основные функции, писать чистый код и тесты. Архитектура приложения любая на ваш выбор, однако нужно будет обосновать выбор в документации.


Основные требования

Разработать мобильное приложение со следующей функциональностью:

1. Экран авторизации

  • Форма с полями: email (валидация на корректность) и пароль (минимум 6 символов).
  • Кнопка «Войти».
  • API: POST /auth/login (эмулировать успешный ответ при валидных данных, например: email: test@test.com, password: 123456).
  • При успешной авторизации переход на экран списка постов.

2. Экран списка постов

  • Отображение списка постов в виде карточек (заголовок, краткий текст, автор).
  • API: GET /posts?page={page}&limit={limit} (используйте JSONPlaceholder или аналогичный сервис).
  • Пулл-ту-рефреш для обновления списка.

3. Оффлайн-режим

  • Кэширование данных: при отсутствии интернета показывать последние загруженные посты.
  • Индикатор отсутствия соединения.

Дополнительные задания (будет плюсом)

  1. Биометрическая аутентификация: (Face ID/Touch ID)
  2. Анимации: Плавные переходы между экранами, лоадеры
  3. Динамическая тема: Переключение между светлой/темной темой
  4. Deep Links: Возможность открыть экран поста по ссылке app://post/{id}
  5. Любой пример работы с нативным API: Например выбор локации пользователя через GPS.
  6. Управление состоянием и асинхронная обработка данных: покажите навыки работы с фреймворком на ваш выбор (Kotlin Flow, Redux, RxSwift или аналоги)
  7. Тестирование: осмысленные юнит-тесты на ключевые компоненты

Критерии оценки

  1. Корректность работы: Приложение не крашится, данные отображаются верно.
  2. Качество кода: покажите умение организовать структуру кода и писать понятный код.
  3. Документация: Readme с описанием архитектуры, инструкцией по запуску, скриншотами.
  4. Дополнительные фичи: Реализация бонусных заданий.

Как отправить результат

  1. Исходный код на GitHub/GitLab (открытый репозиторий).
  2. APK/IPA или собранный билд в репозитории.

Ссылки

Если у Вас есть вопросы или предложения по поводу тестового задания, вы можете создать Issue или PullRequest с подробным описанием вопроса или проблемы. Благодарим за ваше внимание!

About

Тестовое задание для соискателей на позицию mobile-разработчика в Gratio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published