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

Тут присутствую 2 группы кнопок
Для удобства понимания на данный момент используется в качестве кнопок branch(отделение) и floor (Этаж), но в целом можно задать все что угодно.
Зайдя на страницу справочника у вас будет показана левая группа, после выбора отделения, в центре появится вторая группа с этажами которые находятся внутри отделения. После выбора этажа вам дадут номера телефонов которые находятся в выбранном отделение, на выбранном этаже.
Так же есть поиск в 2 режимах. Поиск по все базе вне зависимости от выбранного отделения, и поиск внутри выбранного отделения.
Предельно простой функционал для пользователя.
На этом часть юзера все. По части админа все сложнее. Для начала я не захотел делать доступ к админке через бд, логин и пас я просто написал в переменные, по этому аккаунт всего один. Сделано это не из-за лени, просто я правда не видел смысла т.к проект не большой и не коммерческий.
Если кто-то будет пользоваться этим справочником то доступ
Адрес админки:
домен/panel/admin
login: 'admin',
password: 'wwqe1rws'
Меняется в файле passport.js.
Тут перед нами разворачивается 2 кнопки.
Первая — просто добавление кнопок и людей.

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

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

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

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

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

Последняя кнопка assign, она предназначена для того, что бы настроить связи у записи.
Для начала обратим внимание на поле link main — тут вы указываете какому отделению принадлежит этот контакт, таких полей 2. В Одном вы можете порвать связь, во втором вы добавляете новую.
В поле link main data вы указываете этаж у связки записей «отделение-контакт». В поле link second вы можете порвать эту связь.
Т.е последовательность добавления такая
На вкладке add добавляем кнопки и записи, идем в edit, жмем Assign all и настраиваем этажи для отделений. Затем ищем запись, жмем assign у нужной и присваиваем ее к отделению, затем указываем на каком этаже внутри этого отделения нужно выводить запись.
Админка получилась запутанная но все же все достаточно просто.
Я понимаю, что скорее всего это Сизифов труд т.к в компаниях редко ведут актуальный справочник но нам понадобился.
В общем я открыт для критики и советов.
Код справочника
Так же если есть какие-то вопросы или т.п то можно написать в телегу @urifcof там я тоже сразу окажу поддержку.

Тут присутствую 2 группы кнопок
- Left (main)
- Center (second)
Для удобства понимания на данный момент используется в качестве кнопок branch(отделение) и floor (Этаж), но в целом можно задать все что угодно.
Зайдя на страницу справочника у вас будет показана левая группа, после выбора отделения, в центре появится вторая группа с этажами которые находятся внутри отделения. После выбора этажа вам дадут номера телефонов которые находятся в выбранном отделение, на выбранном этаже.
Так же есть поиск в 2 режимах. Поиск по все базе вне зависимости от выбранного отделения, и поиск внутри выбранного отделения.
Предельно простой функционал для пользователя.
На этом часть юзера все. По части админа все сложнее. Для начала я не захотел делать доступ к админке через бд, логин и пас я просто написал в переменные, по этому аккаунт всего один. Сделано это не из-за лени, просто я правда не видел смысла т.к проект не большой и не коммерческий.
Если кто-то будет пользоваться этим справочником то доступ
Адрес админки:
домен/panel/admin
login: 'admin',
password: 'wwqe1rws'
Меняется в файле passport.js.
Тут перед нами разворачивается 2 кнопки.
Первая — просто добавление кнопок и людей.

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

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

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

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

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

Последняя кнопка assign, она предназначена для того, что бы настроить связи у записи.
Для начала обратим внимание на поле link main — тут вы указываете какому отделению принадлежит этот контакт, таких полей 2. В Одном вы можете порвать связь, во втором вы добавляете новую.
В поле link main data вы указываете этаж у связки записей «отделение-контакт». В поле link second вы можете порвать эту связь.
Т.е последовательность добавления такая
На вкладке add добавляем кнопки и записи, идем в edit, жмем Assign all и настраиваем этажи для отделений. Затем ищем запись, жмем assign у нужной и присваиваем ее к отделению, затем указываем на каком этаже внутри этого отделения нужно выводить запись.
Админка получилась запутанная но все же все достаточно просто.
Я понимаю, что скорее всего это Сизифов труд т.к в компаниях редко ведут актуальный справочник но нам понадобился.
В общем я открыт для критики и советов.
Код справочника
Так же если есть какие-то вопросы или т.п то можно написать в телегу @urifcof там я тоже сразу окажу поддержку.