Проект представляет собой мобильное приложение, выполнящее роль платформы для создания, поиска, организации и выполнения онлайн тестов или викторин. Также в состав проекта входит серверное приложение (ссылка на проект), обеспечивающее возможность сетевой игры в режиме реальном времени с неопределённым количеством других игроков.
- Модернизация учебного процесса с использованием платформы онлайн тестов
- Упрощение интерфейса организации и прохождения учебного тестирования
- Увеличение доступности и надёжности контроля знаний с использованием распространённых Android устройств
- Развитие заинтересованности учеников в процессе с помощью соревновательной системы в реальном времени
Проект может быть использован не только в рамках учебной деятельности, но и для корпоративных квизов, для развлечения в компании друзей или с семьёй в свободное время благодаря встроенному сетевому режиму и свободе в выборе тем и создании собственных викторин.
- Стэк технологий
- Kotlin Coroutines - выполнение асинхронных операций для работы с сетью
- Retrofit - быстрый и удобный доступ к API со стороны клиента
- Spring Boot Framework - web-приложение развёрнутое на хостинге (ссылка на сервер) Heroku
- Swagger2 - автоматическое создание документации API
- Google Firebase Filestore - серверная документоориентированная NoSql база данных
- Android Jetpack
- Fragment - использование нескольких экранов в рамках одной активности
- Navigation - навигация между фрагментами в рамках одной активности
- Navigation SafeArgs Plugin - безопасная передача данных между фрагментами
- Lifecycle - обработка событий на основе жизненного цикла приложения
- ViewModel - хранение и использование данных относящихся к UI в привязке к жизненному циклу представления
- RecyclerView - представление данных в виде интерактивного списка
- ViewBinding - современный способ доступа к элементам разметки
- Современная архитектура
- Многоуровневая архитектура
- Паттерн проектирования MVVM на стороне клиента
- Spring MVP на стороне сервера
- Koin - Инъекция зависимостей
- JUnit4 и Espresso - модульное и инструментальное тестирование
- Continious Integration
- GitHub Actions - сборка и анализ артефакта приложения с помощью Gradle
- Автоматический анализ кода с помощью сторонних сервисов (Codebeat, Codefactor)
- UI дизайн
- Material design
- FlexBox