Публичный репозиторий дипломной работы, Alcyone. Приложение разработанное с целью помочь студентам легче ориентироваться в расписании. Версия на момент написания README - 1.2.2.
Используемые инструменты:
- Kotlin
- Android Studio
- MVVM
- Hilt
- Supabase
Архитекутра приложения по Activity и Fragment
Основной экран. Сверху отображается выбранная группа (в данном случае это демонстрационная группа), так же можно выбрать интересующую дату и по ней автоматически в RecyclerView будет обновлено расписание. Расписание же, в свою очередь, делится для подгрупп, 1ой и 2ой. За вариативность отвечает TabLayout, а за сохранение положения - SharedPreferences (он же отвечает за сохранение выбранной темы, группы, альтернативного режима). Так же, приятным дополнением будет окно, отвечающее за отображение начала первой пары для конкретной подгруппы. Изначально в ней отображалась информация к какой паре идти студенту, но с релизом цикл обновился и теперь он отображает время, к которому должен прийти студент.
Экран настроек. Здесь можно выбрать группу, изменить тему со светлой на темную, включить альтернативный режим, ознакомиться с информацией о проекте.
Экран авторизации и регистрации. Введен с новой версией 1.2.4! Было решено пока что упростить регистрацию без отдельного фрагмента и без подтверждения пароля. Но уже сейчас стоит проверка на паттерн Email, стоит ограничение на 6-ти символьный пароль (минимум 6 символов), вводимый пароль по умолчанию скрыт. Так же реализована обработка ошибок на вводимые значения, если клиент вводит не верные данные, ему сообщается чтобы он проверил правильность введеных данных. Данный фрагмент - первопроходец Jetpack Compose! Это первый элемент приложения, где графический интерфейс написан с помощью Jetpack Compose. В будушем постараюсь перевести куда больше элементов на эту технологию. Но, конечно же, уверен, с этим будут трудности.. Зато интересно)) Авторизация реализована через сервис Supabase, где и расположена БД. Авторизация реализована через хранение токена.
В настоящий момент проект поддерживает английский и русский язык, но база данных Supabase так или иначе хранит данные на русском языке.