readme.md 5.4 KB

SmartLab

SmartLab - информационная система для частных поликлиник. Используя данное приложение можно как заказывать различные тесты и анализы, так и увидеть все результаты ранее сделанных тестов или анализов в одном приложении.

Является хорошим примером для построения своих android приложений с использованием "XML layouts to build native UI". То есть более старой реализации android приложений.

Как скачать данное решение

Gradle build файл содержит в себе следующий код:

 compileSdk = 34

    defaultConfig {
        applicationId = "com.example.smartlab"
        minSdk = 30
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

Это означает, что разработанное приложение может быть запущено на устройствах Android 11 и выше.

Чтобы установить данный проект, вам нужно иметь Android Studio на вашем устройстве, при запуске проекта необходимо убедиться, что у вас установлен 30 API или выше**.

Также иногда стоит синхронизировать gradle.kts файлы и запустить AGP инспекцию, если у вас версия более ранее или поздняя чем "Android Studio Giraffe".

Что реализовано в данном проекте

Встречающие пользователя элементы

Элементы встречающие пользователя "Splash Screen" и "OnBoarding/Walkthrough Screen".

  • Splash Screen - всплывающий экран заставки, реализован через специальное API, которое ввели начиная с Android 12.
  • OnBoarding/Walkthrough Screen - экран первоначальной загрузки, который запускается только в том случае, если вход в приложение является первым.

В ходе реализации нужно было придумать изюминку здесь это - LottieAnimation. Это анимации, которые могут быть представлены как в "RAW", так и в "JSON-OBJECT" формате, они могут быть использованы в браузере и мобильных приложениях. Некоторые анимации являются полностью бесплатными, что даёт полное право использовать их в своих решениях (как здесь).

Навигационные элементы

В контексте данного решения был использован навигационный компонент с использованием множества фрагментов.

Навигация

Между некоторыми аргумента передаются аргументы. К примеру, с "AuthFragment" в "EmailCodeFragment" передаётся почта, чтобы отправлять разные запросы к API.

Список реализованного

Здесь все то, что присутствует в проекте (BL - Business Logic):

  • Bindings (Activity & Fragment)
  • API Models
  • Validation of code from email
  • RegEx
  • Bottom Navigation

  • Fragments

    • Auth with BL
    • EmailCode with BL
    • OnBoarding with BL
    • ProfileCardCreate with BL
    • PassCode Creation with BL
  • Preference Manager

    • Walkthrough Screens
    • Pass Code
    • JWT Token
  • API manipulations

    • Send Code to email
    • Take JWT
    • Create (post) Profile Card

Что не реализовано

Не хватило времени на реализацию всех окон внутри Bottom Navigation (all in figma). То есть нету:

  • Обновления данных личного кабинета;
  • Сохранение фотографии внутри личного кабинета, как и нет картинки заглушки;
  • Вытягивание из API:
    • Акций и новостей;
    • Анализов;
    • Данных для Modal Bottom Sheet;
  • Корзины и её бизнес логики;
  • Оформление заказа.

Ссылки

Макет приложения - Figma

GitHub profile - Nanech

Gogs repository

API