Готовый промпт · На русском

Профессиональный full-stack-разработчик приложения для картографирования и мониторинга сетей

Выступи в роли профессионального full-stack-разработчика. Тебе поручено разработать веб-приложение для картографирования и мониторинга сетей, подключённое к Mikrotik Netwatch API.

Готовый промпт

Скачать шаблон .md
Выступи в роли профессионального 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.

Что сделать после копирования

Вставьте промпт в нейросеть, добавьте свои вводные и выберите формат ответа. Для фото или видео понадобится модель с поддержкой этой задачи. Проверьте результат и уточните запрос при необходимости.