Skip to content

atlekbai/CRM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRM система для отслеживания въезжающих в страну лиц

Что было сделано?

  • Разработана архитектура базы данных

    • person: Таблица с данными людьми
    • transaction: Транзакции (перелеты) людей с данными: откуда, куда, посетившие страные, номер рейса, дата рейса
    • record: Карточки человека, указывающая статус: госпитализирован, в поиске, мертв, здоров
    • user: Таблица с модераторами
  • Разработан Front-End для модератора

    • Страница для добавления заполненных форм в базу данных.

      Реализована возможность авто-заполнения формы, если человек присутствуент в базе.

      Реализована возможность заполнения формы через распознавание текста по скану/фото формы.

    • Главная страница показывает данные.

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

        Как формируется?

        1. Находят "карточки"(record) у которых не safe статус.
        2. Последняя транзакция владельца record помечается опасной, находят транзакции которые пересекаются по следующему условию: все транзакции (вылеты и прилеты) в город который прилетел в диапозоне времени +1 час.
        3. Получаем ТОП-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

About

anti-corona CRM case

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published