Ei kuvausta

Nikita Ageev 656433fb9e catalog needs to redesign btns. do some logic with them. Analyzes is almost done 10 kuukautta sitten
.idea bf1de277d7 gets the catalog item from api 10 kuukautta sitten
app 656433fb9e catalog needs to redesign btns. do some logic with them. Analyzes is almost done 10 kuukautta sitten
gradle bd593e9d8d init project 1 vuosi sitten
.gitignore b42767136e updated .gitignore 10 kuukautta sitten
build.gradle.kts bf1de277d7 gets the catalog item from api 10 kuukautta sitten
gradle.properties 6ddc8d894a idk how write self numpad, need example of implement 11 kuukautta sitten
gradlew bd593e9d8d init project 1 vuosi sitten
gradlew.bat bd593e9d8d init project 1 vuosi sitten
readme.md b7657e0b64 Updated readme and adds comments in code 10 kuukautta sitten
settings.gradle.kts 6ddc8d894a idk how write self numpad, need example of implement 11 kuukautta sitten

readme.md

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