-
Разработана архитектура базы данных
- person: Таблица с данными людьми
- transaction: Транзакции (перелеты) людей с данными: откуда, куда, посетившие страные, номер рейса, дата рейса
- record: Карточки человека, указывающая статус: госпитализирован, в поиске, мертв, здоров
- user: Таблица с модераторами
-
Разработан Front-End для модератора
-
Страница для добавления заполненных форм в базу данных.
Реализована возможность авто-заполнения формы, если человек присутствуент в базе.
Реализована возможность заполнения формы через распознавание текста по скану/фото формы.
-
Главная страница показывает данные.
-
Таблица с потенциально опасными транзакциями
Как формируется?
- Находят "карточки"(record) у которых не safe статус.
- Последняя транзакция владельца record помечается опасной, находят транзакции которые пересекаются по следующему условию: все транзакции (вылеты и прилеты) в город который прилетел в диапозоне времени +1 час.
- Получаем ТОП-50 стран инфицированных от ВОЗ, и запрашиваем все транзакции в которых была указана страна из списка в качестве visited.
-
Таблица с последними транзакциями
-
-
Страница с данными людей
-
Страница-профиль человека отображающий журнал активности (транзакции и статусы) и данные
Реализована возможность создания "карточки"(record) указывающий статус человека. Последняя созданная карточка указывает текущий статус человека. Каждая карточка сохраняется, это позволяет создать историю изменений профиля.
Если создана "карточка" с названием "госпитализирован", "в поиске" или "мертв", то переформируется список потенциально опасных транзакции. Инструкции формирования описаны выше.
-
Страница отображающая детальную информацию выбранной транзакции
-
-
Разработан API
-
Возвращает актуальные данные по коронавирусу по странам.
Получает данные с https://www.worldometers.info/coronavirus/#countries.
Обновляет каждые 10 минут и сохраняет в кеше.
-
Формирует и возвращает список с потенциально опасными транзакциями
-
Формирует и возвращает журнал активности человека в отсортированном виде: карточки и транзакции.
-
- База данных: Hasura GraphQL (PostgreSQL).
- Front-End: React
- API: Python Flask
- Распознавание текста с изображения: Google AI Platform
- Docker
Ali Tlekbai |
Abylaikhan Zulbukharov |
Saken Mukanov |