Система управления жалобами на общественный транспорт с использованием AI-агента для анализа и обработки.
docker-compose up --buildИли используйте удобный скрипт:
./start.shdocker-compose downИли:
./stop.shПроект состоит из трёх сервисов, которые запускаются автоматически:
-
PostgreSQL Database (порт 6789)
- База данных с автоматической инициализацией таблиц
- Credentials:
bdh_user/hackathon2024
-
Spring Boot Backend (порт 8081)
- REST API для управления жалобами
- Интеграция с AI-агентом (n8n webhooks)
- Поддержка текстовых, голосовых и фото жалоб
-
Vue.js Frontend (порт 5173)
- Современный UI для жителей и администраторов
- AI-чат с анимацией печати
- Интерактивная карта
- Дашборд с аналитикой
После запуска docker-compose up:
- Фронтенд: http://localhost:5173
- Бэкенд API: http://localhost:8081
- База данных: localhost:6789
- Email:
admin@example.com - Пароль:
admin
- Email:
user@example.com - Пароль:
user
- Docker & Docker Compose
- (Опционально) Java 17, Maven 3.9+, Node.js 20+ для локальной разработки
mvn spring-boot:runcd frontend
npm install
npm run devИспользуйте существующий PostgreSQL или запустите только DB из Docker:
docker-compose up dbОсновные настройки в application.properties:
spring.datasource.url- URL базы данныхapp.webhook.url- URL для текстовых жалобapp.webhook.voice.url- URL для голосовых сообщенийapp.webhook.photo.url- URL для фотоapp.webhook.admin.url- URL для админского чата
Для полной функциональности AI-агента необходимо настроить n8n workflows:
- Запустите n8n локально или используйте cloud версию
- Создайте workflows для обработки жалоб
- Обновите webhook URLs в
application.properties
- ✅ Отправка жалоб через текст, голос или фото
- ✅ Выбор местоположения на карте
- ✅ AI-анализ жалобы с рекомендациями
- ✅ Просмотр статуса своих жалоб
- ✅ Группировка похожих жалоб
- ✅ Дашборд с аналитикой
- ✅ Фильтрация жалоб по маршруту, приоритету
- ✅ Визуализация на карте
- ✅ AI-помощник для анализа трендов с анимацией печати
- ✅ Обсуждение конкретных жалоб с AI
- ✅ Графики и статистика
- ✅ Индикатор "печатает..." для AI-ответов
- ✅ Естественная скорость печати с паузами на знаках препинания
# Backend tests
mvn test
# Frontend tests
cd frontend
npm run test.
├── src/ # Backend (Spring Boot)
│ ├── main/
│ │ ├── java/ # Java source code
│ │ └── resources/ # Конфигурация и статика
│ └── test/ # Тесты
├── frontend/ # Frontend (Vue.js)
│ ├── src/
│ │ ├── components/ # Vue компоненты
│ │ ├── pages/ # Страницы
│ │ └── store/ # State management
│ └── Dockerfile # Frontend Docker image
├── Dockerfile # Backend Docker image
├── docker-compose.yml # Оркестрация всех сервисов
├── init.sql # SQL для инициализации БД
├── start.sh # Скрипт запуска
└── stop.sh # Скрипт остановки
# Проверьте, что PostgreSQL запущен
docker-compose ps
# Посмотрите логи
docker-compose logs db# Проверьте логи
docker-compose logs backend
# Пересоберите образ
docker-compose build --no-cache backend- Убедитесь, что backend запущен на порту 8081
- Проверьте настройки CORS в
SecurityConfig.java
MIT License
Big Data Hackathon Team 2024