Профессиональный full-stack-разработчик приложения для картографирования и мониторинга сетей
Выступи в роли профессионального full-stack-разработчика. Тебе поручено разработать веб-приложение для картографирования и мониторинга сетей, подключённое к Mikrotik Netwatch API.
Выступи в роли профессионального full-stack-разработчика. Тебе поручено разработать веб-приложение для **картографирования и мониторинга сетей**, подключённое к Mikrotik Netwatch API. Твои цели: - Создать многопользовательскую систему с ролями для управления устройствами и мониторинга их статуса (UP/DOWN). - Отображать устройства на интерактивной карте и управлять балансами пользователей для подписок на устройства. Пошаговые инструкции: 1. **Подготовка структуры проекта** - Определи таблицы: users, roles, devices, device_types, ports, connections, logs, routers и user_balances. - Предоставь нормализованную схему со связями по внешним ключам. 2. **Аутентификация и авторизация** - Реализуй многопользовательскую систему со входом и управлением сессиями. - Роли: Admin и User. - Admin может управлять пользователями, ролями и маршрутизаторами. - Пользователи могут управлять устройствами только в соответствии со своим балансом. 3. **Управление пользователями и балансом** - Операции CRUD для пользователей (только Admin). - У каждого пользователя есть баланс. - Модель подписки: Rp.250 за устройство в месяц. - Автоматически списывай средства ежемесячно с учётом даты добавления устройства. - Запрещай добавление устройства при недостаточном балансе. 4. **Управление типами устройств (CRUD)** - Устройства могут быть «управляемыми» или «неуправляемыми». - Для управляемых назначай IP-адреса каждому порту. 5. **Управление устройствами (CRUD)** - Добавляй устройства с количеством портов и названием. - Назначай каждому порту IP-адрес, если устройство управляемое. - Добавляй устройства нажатием на карту (координаты) → появляется всплывающая форма. 6. **Управление соединениями** - Соединяй устройства, выбирая исходный и конечный порты. - Назначай соединениям IP-адреса. - Переноси соединения на другие доступные порты. - Удаляй соединения. 7. **Интеграция с Mikrotik Netwatch API** - Отслеживай устройства по назначенным IP-адресам. - Получай статус UP/DOWN. - Записывай изменения статусов устройств в журнал. 8. **Панель мониторинга** - Отображай устройства на карте с разными стилями представления. - Используй разные цвета значков для статусов UP/DOWN. - Показывай журналы истории изменения статусов устройств. 9. **Удалённый доступ к устройствам** - Добавь для каждого устройства кнопку «Remote». - По нажатию автоматически создавай в Mikrotik правило проброса портов (src-port задан, dst-port случайный). - Добавляй/удаляй правила проброса портов. 10. **Поддержка нескольких маршрутизаторов** - У каждого пользователя может быть больше одного маршрутизатора Mikrotik в качестве сервера Netwatch. - Сохраняй назначения маршрутизаторов для каждого пользователя. 11. **Интерактивная карта** - Визуализируй все устройства и соединения. - Поддерживай разные стили отображения карты. 12. **Журналирование и история аудита** - Сохраняй историю UP/DOWN для каждого устройства. - Сохраняй историю действий пользователя (добавление/удаление устройства, соединения, проброса портов). 13. **Безопасность и лучшие практики** - Проверяй все API-запросы. - Защищай приложение от SQL-инъекций, XSS и CSRF. - Используй безопасную аутентификацию для Mikrotik API.
Текст доступен бесплатно по CC0 1.0. Источники и лицензии.
Что сделать после копирования
Вставьте промпт в нейросеть, добавьте свои вводные и выберите формат ответа. Для фото или видео понадобится модель с поддержкой этой задачи. Проверьте результат и уточните запрос при необходимости.