Skip to content

gimpelgit/library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Система управления библиотекой

Автор: Гимпель Кирилл 253505

Функциональные требования к проекту

  1. Регистрация и авторизация пользователей.
  2. Управление профилями пользователей: добавление, удаление, изменение данных читателей и библиотекарей.
  3. Система ролей: два уровня доступа — библиотекарь и пользователь (читатель).
  4. CRUD-операции для книг: создание, чтение, обновление, удаление книг.
  5. Поиск и фильтрация книг по автору, названию и жанру.
  6. Бронирование книг.
  7. Журналирование действий: отслеживание истории действий, таких как выдача и возврат книг.

Инфологическая модель БД

Картинка с инфологической моделью БД

Даталогическая модель БД

Картинка с даталогической моделью БД

Описание каждой сущности

Сущность Поле Тип данных Ограничения Связи
User id INT PRIMARY KEY Связь с Role (MTM), Loan (OTM), ActivityLog (OTM), Notification(OTM), Reservation(OTM)
name VARCHAR(30) NOT NULL
email VARCHAR(50) UNIQUE, NOT NULL
password VARCHAR(20) NOT NULL
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
Role id INT PRIMARY KEY Связь с User (OTM)
name VARCHAR(30) NOT NULL
Book id INT PRIMARY KEY Связь с Genre (MTM), Loan (OTM), Reservation (OTM), Author (MTM)
title VARCHAR(100) NOT NULL
summary TEXT NOT NULL
page_count INT NOT NULL
cover_image_url VARCHAR(255)
Author id INT PRIMARY KEY Связь с Book (MTM)
name VARCHAR(100) NOT NULL
Genre id INT PRIMARY KEY Связь с Book (MTM)
name VARCHAR(50) NOT NULL
Loan id INT PRIMARY KEY Связь с User (OTM), Book (OTM)
user_id INT FOREIGN KEY REFERENCES User(id)
book_id INT FOREIGN KEY REFERENCES Book(id)
loan_date DATE NOT NULL
return_date DATE NOT NULL
Reservation id INT PRIMARY KEY Связь с User (OTM), Book (OTM)
user_id INT FOREIGN KEY REFERENCES User(id)
book_id INT FOREIGN KEY REFERENCES Book(id)
reserved_until DATE NOT NULL
ActivityLog id INT PRIMARY KEY Связь с User (OTM)
user_id INT FOREIGN KEY REFERENCES User(id)
action VARCHAR(100) NOT NULL
action_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
BookSuggestion id INT PRIMARY KEY Связь с User (OTM)
user_id INT FOREIGN KEY REFERENCES User(id)
title VARCHAR(100) NOT NULL
author VARCHAR(100) NOT NULL
status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending'
suggestion_date DATE DEFAULT CURRENT_DATE
Reviews id INT PRIMARY KEY Связь с User (OTM), Book (OTM)
user_id INT FOREIGN KEY REFERENCES User(id)
book_id INT FOREIGN KEY REFERENCES Book(id)
rating TINYINT NOT NULL
comment TEXT NOT NULL
review_date DATE DEFAULT CURRENT_DATE

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published