Написал простой node.js справочник и решил поделиться с вами.

image

Тут присутствую 2 группы кнопок

  1. Left (main)
  2. Center (second)

Для удобства понимания на данный момент используется в качестве кнопок branch(отделение) и floor (Этаж), но в целом можно задать все что угодно.

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

Так же есть поиск в 2 режимах. Поиск по все базе вне зависимости от выбранного отделения, и поиск внутри выбранного отделения.

Предельно простой функционал для пользователя.

На этом часть юзера все. По части админа все сложнее. Для начала я не захотел делать доступ к админке через бд, логин и пас я просто написал в переменные, по этому аккаунт всего один. Сделано это не из-за лени, просто я правда не видел смысла т.к проект не большой и не коммерческий.

Если кто-то будет пользоваться этим справочником то доступ

Адрес админки:

домен/panel/admin
login: 'admin',
password: 'wwqe1rws'

Меняется в файле passport.js.

Тут перед нами разворачивается 2 кнопки.

Первая — просто добавление кнопок и людей.

image

Вторая более запутанная для настройки связей и удаления записей.

image

Первым делом на кнопки Edit вас встретит поиск, при помощи него вы ищите человека с которым хотите делать манипуляции.

image

Вторая кнопка Assign all. В ней вы настраиваете связи групп кнопок. Т.е в данном случае какие этажи должны быть в отделениях. Тут же и удаляется эта связь.

image

Следующая кнопка Edit button, тут вы переименовываете кнопки.

image

Теперь заглянем в кнопку Edit у конкретной записи. Тут можно отредактировать данные либо удалить запись.

image

Последняя кнопка assign, она предназначена для того, что бы настроить связи у записи.

Для начала обратим внимание на поле link main — тут вы указываете какому отделению принадлежит этот контакт, таких полей 2. В Одном вы можете порвать связь, во втором вы добавляете новую.

В поле link main data вы указываете этаж у связки записей «отделение-контакт». В поле link second вы можете порвать эту связь.

Т.е последовательность добавления такая

На вкладке add добавляем кнопки и записи, идем в edit, жмем Assign all и настраиваем этажи для отделений. Затем ищем запись, жмем assign у нужной и присваиваем ее к отделению, затем указываем на каком этаже внутри этого отделения нужно выводить запись.

Админка получилась запутанная но все же все достаточно просто.

Я понимаю, что скорее всего это Сизифов труд т.к в компаниях редко ведут актуальный справочник но нам понадобился.

В общем я открыт для критики и советов.

Код справочника

Так же если есть какие-то вопросы или т.п то можно написать в телегу @urifcof там я тоже сразу окажу поддержку.