Этот сервис использует данные о прошлых закупках и бухгалтерскую информацию для:
- Визуализации статистики
- Прогнозирования потребностей в закупках
- Подготовки данных для планирования закупок
Цель сервиса - сократить трудозатраты и человекачасы государственных учреждений на планирование закупок, автоматизируя прогнозирование потребностей в продуктах и их количестве.
- Чат-бот интерфейс: Взаимодействие с сервисом через удобный интерфейс чат-бота.
- Консолидация данных: Интеграция данных о прошлых закупках и бухгалтерской информации.
- Прогнозирование: Использование моделей машинного обучения для предсказания будущих потребностей в закупках.
- Визуализация: Предоставление графических представлений и отчетов о данных по закупкам.
- Коррекция прогнозов на месте: Пользователь может изменить результирующий файл в боте без использования дополнительных инструментов.
- Мониторинг обновлений в ФЗ: В случае изменения в 44 ФЗ пользователь получает уведомление о изменение в законе.
- Подгрузка новых данных: Возможность подгрузить новые таблицы со складскими остатками и обортными ведомостями
- Отслеживание остатка товара: Пользователь может выбрать/удалить товары для отслеживания остатков на складе
Архитектура включает в себя следующие ключевые компоненты:
- Telegram бот
- Взаимодействие пользователя с сервисом осуществляется через Telegam бота
- Java бэкенд
- MongoDB
- Основная база данных для проекта. Внутри хранятся складские остатки, обортные ведомости и информация об отслеживаемых товарах для каждого пользователя
- Python Scripts
- Скрипты вызываемые бэкендом для прогнозирования и визуализации
- Keycloak
- Система авторизации
Более подробная архитектура, мотивация, пользовательские истории и документация в целом доступна по ссылке
- Чат-бот и интерфейс: Python, Aiogram, PostgreSQL
- Обработка и анализ данных: Python, pandas, scikit-learn
- База данных: MongoDB
- Визуализация: Python, pandas, matplotlib
- Инфраструктура и развертывание: Docker, Docker Compose
- Бэкенд: Java, SpringBoot, ChatGPT
- Документация: Swagger, Archi, OpenAPI
- Docker/Docker Compose
-
Клонируйте репозиторий:
git clone https://github.com/yourusername/procurement-forecasting-service.git cd procurement-forecasting-service
-
Настройте окружение:
- Заполните пропуски в
docker-compose.yml
- Пример:
DATABASE_URL: postgresql://username:password@localhost:5432/procurement_db MONGO_URL: mongodb://localhost:27017 ...
- Заполните пропуски в
-
Соберите и запустите сервисы с помощью Docker:
docker-compose up --build
-
Доступ к чат-боту:
- Откройте чат-бот в Telegram
-
Взаимодействие с чат-ботом:
- Используйте естественный язык для запроса данных о закупках, прогнозов и визуализаций.
- Используйте удобные и простые кнопки для выполнения тех же действий.
-
Сначала введите команду /start в боте.
-
Авторизуйтесь с помощью Keycloak через ссылку, предоставленную ботом.
-
Подтвердите, что вы авторизованы a. Примите пользовательский случай
b. Отклоните пользовательский случай
-
Выберите, что вы хотите сделать
- Используйте кнопки, тогда поток будет простым: выберите опцию и введите параметр, который запросит бот.
- Введите в ваше сообщение, выбрав опцию и ее параметры, например: Найди сколько осталось на складе бумаги.
-
Получите ответ и визуализации, если ваш запрос был успешен.
-
Если вы хотите сохранить запрашиваемый прогноз, вы можете скачать json-файл, отправленный ботом.
-
Если вы хотите изменить json в Telegram, выберите кнопку для редактирования.
-
Обновите или оставьте параметры json без изменений.
-
Сохраните обновленный json.
Мы приветствуем участие! Пожалуйста, следуйте этим шагам:
- Форкните репозиторий.
- Создайте новую ветку (
git checkout -b feature/YourFeature
). - Закоммитьте ваши изменения (
git commit -am 'Add new feature'
). - Запушьте в ветку (
git push origin feature/YourFeature
). - Создайте новый Pull Request.
Этот проект лицензирован по лицензии MIT - см. файл LICENSE для подробностей.