Описание:¶
Для своей работы приложение использует базу данных 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 собаки