Необходимо реализовать фулстек приложение: веб приложение для управления и контролем выдачи книг в библиотеке.<br><br>Пользователи:<br>- Администратор (ADMIN) - полный доступ к функционалу веб приложения<br>- Библиотекарь (EMPLOYEE) - работник библиотеки<br>- Пользователь (GUEST) - неавторизованный пользователь (для пользователей нет регистрации)<br><br>Функционал:<br>- Администратор:<br> - Создание библиотеки<br> - Создание пользователя<br>- Библиотекарь<br> - Регистрация нового пользователя в библиотеку<br> - Добавление книги в фонд библиотеки<br> - Выдача книги из библиотеки<br> - Получение возвращенных книг<br> - Просмотр фонда по всем библиотекам сети<br>- Пользователь<br> - Просмотр каталога библиотеки<br><br>Регистрация<br> - Новый сотрудник сам регистрируется на сервисе, администратор лишь подтверждает регистрацию и приписывает его в конкретной библиотеке и дает ему роль библиотекаря<br> - Библиотекарь может создавать аккаунты пользователей при этом пользователю.<br> - Сам пользователь зарегистрировать не может<br><br>Сущности:<br>- Book<br> - ID<br> - ISBN<br> - Название<br> - Автор<br> - Год издания<br> - ID того, кто взял книгу<br> - ID библиотеки, где лежит книга<br>- Library<br> - ID<br> - Адрес<br> - Название<br>- Employee (сюда же идут аккаунты админов)<br> - ID<br> - ФИО<br> - Email<br> - Password<br> - ROLE (ADMIN/EMPLOYEE)<br> - ID библиотеки, к которой причислен<br>- Guest<br> - ID<br> - ФИО<br> - Адрес проживания<br><br><br>Страницы на фронте:<br>- Доступные для всех:<br> - Главная страница - каталог книг с фильтрами по названиям книг, авторам или в какой библиотеке они лежат<br> - Страница конкретной книги - просто вся информацию о книге<br>- Доступные сотрудникам<br> - Страница конкретной книги<br>- Возможность редактирования информации<br>- Возможность удаления книги<br> - Страница поиска книги по ISBN для выдачи посетителю<br> - Страница создания новой книги<br> - Страница регистрации нового пользователя<br>- Доступные админам<br> - Страница просмотра сотрудников<br> - Страница редактирования сотрудников (подтверждение регистрации, удаление и редактривание информации)<br><br>База данных на postgres.<br>Еще было бы круто сразу это в docker-compose завернуть чтобы легко развернуть можно было