Веб-интерфейс для управления серверами.
У нас есть список серверов, у которых мы можем указать хост, логин, пароль, группу.
Из веб-интерфейса мы можем запускать и останавливать сервера. Действия пользователя по запуску и остановке сервера журналируются.
Каждый из серверов выполняет задания. В веб-интерфейсе на графике мы видим по дням сколько заданий сервер выполнил.
Т.к. система тестовая, то задания мы просто генерируем на каждый сервер.
db: mongodb
backend: node.js c фреймворком express.js, работа с бд через mongoose
frontend: фреймворк angular.js, шаблонизатор pug, оформление bootstrap css, графики chart.js
действие "перезапуск" для сервера:
а) добавить кнопку с действием в сервер
б) добавить журналирование этого действия
добавить CRUD-операции для групп серверов
а) добавить отдельный таб для работы с группами
б) вывести список групп,
в) добавить кнопку добавления группы, добавить форму добавления группы, сохранять группу
г) сделать выбор групп в форме добавления сервера
добавить общий график (монитор) по всем заданиям серверов за день по часам
а) на графике по оси Х вывести часы от 0 до 23
б) вывести столбцы в каждом часе количество выполненных заданий каждым сервером
в) в каждом часе количество столбцов - это количество серверов
г) над графиком сделать выбор даты (чтобы можно посмотреть задания по часам за любой день), по умолчанию текущий день
должны быть установлены: nodejs, mongodb
git clone https://github.com/antirek/server-project.git // клонируем этот репозиторий
cd server-project // переходим в директорию проекта
npm install // устанавливаем зависимости
npm run build // делаем сборку (вебпак собирает скрипт для фронтенда)
npm run start:web // запускаем наш сервер
переходим в браузере на http://localhost:3000
по необходимости конфигурируем подключение к mongodb в config/default.js
-
что можно улучшить в этом проекте?
-
какие проблемы есть в этом проекте?
-
на каком стеке можно реализовать подобную функциональность быстрее?