Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Отслеживание прогресса изучения: сохранение метрик по пользователям

Автор - Бакленев Алексей

Данный микросервис позволяет сохранять статистику по пользователям в базу данных, а также получать статистику пользователя из базы данных.

Как использовать

Основной функционал заключает в себе класс UserDatabaseController. Он позволяет:

  • Создать в базе данных таблицу и добавить в нее столбцы для всех статов при необходимости
  • Удалить из базы данных таблицу статистики пользователей
  • Изменить статистику пользователя по имени пользователя
  • Получить статистику пользователя по имени пользователя

Также присутствует класс UserStatisticsDAO, предоставляющий доступ к функциям изменения и получения статистики пользователя. При необходимости использования только этих двух функций можно использовать UserStatisticsDAO вместо UserDatabaseController.

Работа со статистикой пользователя

Работа со статистикой пользователя осуществляется через класс UserStatistics, который хранит в себе статистику пользователя, и позволяет получит значение статистики по значению из Stats enum. Класс имеет методы получения статистики для каждого типа данных из StatType enum.

Использование других баз данных

Микросервис по умолчанию работает с базой данных H2, но возможно подключить другую базу данных, для этого нужно создать класс, который реализует интерфейс Database, представляющий базу данных.

Добавление новых пунктов статистики

Для добавления нового пункта статистики пользователя необходимо добавить его в Stats enum, указав имя столбца в базе данных, и тип данных статистики.

Пример:

WordsLearned("wordsLearned", StatType.Integer)

Добавление новых типов данных статистики

Для добавления нового типа данных статистики, необходимо добавить его в StatType enum, указав имя типа данных в sql.

Также необходимо добавить Map в UserStatistics для хранения этого типа данных, и геттеры и сеттеры для этого типа данных.

Геттеры и сеттеры этого типа данных также необходимо добавить в UserStatisticsDAO по примеру уже добавленных типов данных.

Пример:

Integer("INT")

Пример использования

Работу микросервиса можно протестировать на двух примерах, находящихся в пакете test.

  • CommandLineInterface - приложение позволяющее протестировать функции микросервиса в коммандной строке.
  • Test - небольшой пример показывающий использование основных функций микросервиса в коде.