Проект состоит из клиентской части Vue, API на Django Rest Framework, telegram-бота на pyTelegramBotApi
Реализация заявленного функционала осуществяется посредством обращения post и get запросами к адресам API. Полная документация по методам составлена с помощью swagger. Основной метод приема новых сообщений - /message/create/ принимает как классифицированные, так и необработанные сообщения.
При обработке классифицированного заранее сообщения, происходит вызов методов кластеризации из python-backend/project/message_getter/model/clasterizator.py. Также в папке ./model находятся методы для классификации неразмеченных сообщений путем использования предобученной сверточной нейросети Natasha, а также распознавание пожаров и дтп на фотографиях сетью Inseption. Дампы обученных моделей находятся там же. Все методы API реализуются в .message_getter.views. За работу с моделями и сериализацию методов отвечают serializers.py, также настроены фильтры для обработки запросов на выборку из filters.py. В services.py реализованы запросы для составления графиков.
Бот и приложение Vue общаются с бекендом с помощью requests и axios соответственно.