Skip to content

Repository files navigation

Ứng dụng quản lý thư viện trực tuyến

Ứng dụng được thiết kế để quản lý sách, người dùng và mượn sách trong một thư viện.

Mẹo tìm kiếm

Xem Sách

  • Mặc định tìm kiếm theo tên.
  • "auth:" để tìm theo tên tác giả
  • "genr:" để tìm kiếm theo thể loại

auth:Mojang
genr:Tiểu

Quản lý tài khoảng

  • Mặc định tìm kiếm theo tên user.
  • "name:" để tìm theo tên người dùng

name:Nguyễn

Databases

desc Books

FieldTypeNullKeyDefaultExtra
idintNOPRINULLauto_increment
titlevarchar(255)NONULL
authorvarchar(255)NONULL
genrevarchar(255)NONULL
cover_imagevarchar(255)YESempty
locationvarchar(255)YESNULL
availabletinyint(1)YES1

desc Borrower

FieldTypeNullKeyDefaultExtra
idintNOPRINULLauto_increment
idUserint unsignedYESMULNULL
idBookint unsignedYESMULNULL
DayBorrowdateYESNULL
DayReturndateYESNULL
borrowBbit(1)YESb'0'
returnBbit(1)YESb'0'

desc Users

FieldTypeNullKeyDefaultExtra
idint unsignedNOPRINULLauto_increment
usernamevarchar(255)NOUNINULL
passwordvarchar(255)NONULL
rolevarchar(255)YESnormal
namevarchar(255)YESNULL

Users databases

idusernamepasswordrole
1admin:trollface:aDmIn
......:trollface:mana
......:trollface:norm
  • aDmIn: là Admin, Quản trị viên
  • mana: là Manager, quản lý
  • norm: là Normal, tức là User bình thường

Structure

Mô hình MVC: Ứng dụng được xây dựng theo kiến trúc MVC (Model-View-Controller).

  • Model: Xử lý tương tác với cơ sở dữ liệu (model/db.js, bookModel.js).

  • View: Hiển thị giao diện người dùng (views/*.ejs).

  • Controller: Xử lý logic nghiệp vụ và tương tác với model và view (app.js).

HTLMAO/:
├─CACHE/
│ └─...
├─Controller/
│ ├─bookController.js
│ ├─borrowController.js
│ └─userController.js
├─models/
│ ├─bookModel.js
│ └─db.js
├─node_modules/
│ └─(.gitignore)
├─Public/
│ ├─img/
│ │ ├─bookic/
│ │ │ └─...
│ │ └─...
│ ├─icon.png
│ ├─scrIco.js
│ └─styles.css
├─views/
│ ├─acc.ejs
│ ├─bookEdit.ejs
│ ├─borrow.ejs
│ ├─borrowEdit.ejs
│ ├─editUser.ejs
│ ├─EDIT.ejs
│ ├─home.ejs
│ ├─login.ejs
│ ├─returnBook.ejs
│ └─view.ejs
├─.env
├─.gitignore
├─app.js
├─package-lock.json
├─package.json
└─README.md

MySQL 8.4 Command Line Client

CREATE DATABASE web_login;

use web_login;

CREATE TABLE users (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role VARCHAR(255) DEFAULT 'normal',
name VARCHAR(255)
);
CREATE TABLE books (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
genre VARCHAR(255) NOT NULL,
cover_image VARCHAR(255) DEFAULT 'empty',
location VARCHAR(255),
available TINYINT(1) DEFAULT 1
);
CREATE TABLE borrower (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
idUser INT UNSIGNED,
idBook INT UNSIGNED,
DayBorrow DATE,
DayReturn DATE,
borrowB BIT(1) DEFAULT b'0',
returnB BIT(1) DEFAULT b'0',
FOREIGN KEY (idUser) REFERENCES Users(id),
FOREIGN KEY (idBook) REFERENCES Books(id)
);

INSERT INTO users (username, name, password, role) VALUES ('admin', 'Admin User', 'password123', 'aDmIn');

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages