Skip to content

Latest commit

 

History

History
69 lines (66 loc) · 5.66 KB

README.md

File metadata and controls

69 lines (66 loc) · 5.66 KB

О чем проект

Данный проект был создан как Android-клиент для сайта по прокату вещей между студентами. В процессе разработки был реализован следующий функционал:

  1. Регистрация пользователя
  2. Авторизация пользователя
  3. Выход из профиля
  4. Просмотр информации о профиле
  5. Создание объявления об аренде
  6. Просмотр своих объявлений
  7. Просмотр всех объявлений об аренде
  8. Просмотр карточки объявления
  9. Фильтрация всех объявлений по категориям

Стек технологий

  • Compose Jetpack - для создания пользовательского интерфейса
  • Retrofit - для работы с АПИ
  • Kotlin Coroutines
  • Coil - для загрузки изображений из интернета
  • SharedPreferences - для сохранения настроек пользователя
  • Koin - для внедрения зависимостей
  • MVVM - шаблон проектирования
  • Clean architecture

Описание функционала


Вкладка "Мои вещи"

На данной скриншоте представлены варианты вывода информации о предложений аренды от пользователя приложения:
  • 1й экран - если пользователь не авторизовался, то списка объявлений и кнопки для их создания нет
  • 2й экран - если пользователь авторизовался, но еще не создал ни одного объявления
  • 3й экран - если у пользователя есть объявления



Экраны регистрации и авторизации

Экраны авторизации и регистрации соответственно. Без заполнения обязательных полей кнопки входа и регистрации недоступны. Реализованы проверки на корректность ввода данных, при их соответствии поля окрашиваются в оранжевый, иначе они серые.



Вкладка "Поиск вещей"

Экраны со списком объявлений. Объявления выводятся вне зависимости от наличия авторизации пользователя. В верхней вкладки, скрытой на 1м экране, находятся категории объявлений. На 2м экране список категорий открыт, при выборе одной из категорий происходит фильтрация объявлений, пример на 3м экране.



Экран карточки объявления

На экране выводится информация о товаре с кнопкой для его арендовывания. Переход на экран осуществляется через нажатие на иконку объявления в списках своих и чужих объявлений.



Создание объявления

Экран создания объявлений, без заполненных полей кнопка создания недоступна, есть проверка на корректность введенных данных.



Вкладка "Профиля"

При наличии авторизации пользователя во вкладке выводится информация о профиле пользователя. В ином случае при ее выборе происходит перенаправление на экран входа в приложение.

Небольшие особенности

При авторизации АПИ возвращало куки, по которому позже происходила проверка проверка доступа пользователя к различным запросам к серверу. Поэтому при построении HTTP-клиента пришлось использовать перехватчик запросов, который бы во время отправки АПИ перехватывал бы запрос и вставлял в его заголовок куки.