Описание:

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

Таблицы

В базе присутствуют 4 таблицы:

  • Таблица пользователей

  • Таблица ошейников

  • Таблица собак

  • Таблица связи волонтеров с собаками

Таблица users

В таблице users хранится информация о пользователях, зарегистрировашихся в приложении.

Поля users:

  • name - поле типа string, содержит информацию о имени пользователя

  • email - поле типа EmailString, содержит информацию о почте пользователя, должно быть уникальным в таблице

  • hash_password - поле типа string, содержит хэш от пароля пользователя, используется для авторизации пользователя в приложении

  • is_active - поле типа boolean, становится true когда пользователь авторизован и false в ином случае

  • service - поле типа boolean, если false, то пользователю запрещен доступ к части функций, не предназначенных для обычных волонтеров

  • latitude и longitude - поля типа Integer, хранят координаты пользователя с заданной точностью умноженные на 10 в степени n, где n - коэффициент точности

Таблица osheinics

В таблице хранится информация об активных ошейниках. Ошейники периодически отправляют запрос в базу на обновление данных о месторасположении ошейника.

Поля osheinics

  • charge - поле типа Integer, содержит информацию о заряде соответствующего ошейника в процентах

  • ip - поле типа string, содержит информацию о ip ошейника

  • latitude и longitude - поля типа Integer, хранят координаты ошейника с заданной точностью умноженные на 10 в степени n, где n - коэффициент точности

  • last_modify - поле типа datetime, хранит время последнего ответа от ошейника.

  • danger_or_lost - поле типа boolean, становится true, если ошейник передает ответы, но координаты в них не отличаются от текущих в базе.

Таблицаа dogs

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

Поля dogs

  • name - поле типа string, содержит кличку собаки

  • osheinic_id - поле типа Integer, содержит id ошейника, который закреплен на собаке.

  • last_cared - поле типа datetime, содержит последнее время, когда кто-либо из волонтеров взаимодействовал с этой собакой.

Таблица connections

Таблица является связующей между таблицами users и dogs.

Поля connections

  • user_id - поле типа integer, содержит id пользователя

  • dog_id - поле типа integer, содержит id собаки