lims
1.0.0
Library Information Management System의 약어인 lims에는 실제 도서관 기능을 관리하는 데 필요한 모든 기능이 포함되어 있습니다. 다양한 데이터를 관리하는 데 사용되는 4개의 테이블이 포함되어 있습니다.
CREATE TABLE Book (
" book_id " varchar ( 1200 ) PRIMARY KEY ,
" isbn " varchar ( 1200 ) NOT NULL ,
" title " varchar ( 1200 ) NOT NULL ,
" subtitle " text ,
" author " varchar ( 1200 ) NOT NULL ,
" published " varchar ( 1200 ) NOT NULL ,
" publisher " varchar ( 1200 ) NOT NULL ,
" pages " int ,
" description " text ,
" image_url " varchar ( 1200 ),
" reviews " int ,
" rating " float
);
CREATE TABLE RegUser (
" user_id " varchar ( 200 ) PRIMARY KEY ,
" first_name " varchar ( 200 ) NOT NULL ,
" last_name " varchar ( 200 ),
" gender " varchar ( 200 ) NOT NULL ,
" email " varchar ( 200 ) UNIQUE NOT NULL ,
" password " varchar ( 200 ) NOT NULL ,
" is_admin " boolean NOT NULL
);
CREATE TABLE Review
(
" review_id " varchar ( 200 ) PRIMARY KEY ,
" user_id " varchar ( 200 ) NOT NULL ,
" book_id " varchar ( 200 ) NOT NULL ,
" comment " text ,
" rating " int ,
" date " varchar ( 200 ),
" edited " boolean
);
CREATE TABLE BookIssue
(
" issue_id " varchar ( 200 ) PRIMARY KEY ,
" user_id " varchar ( 200 ) NOT NULL ,
" book_id " varchar ( 200 ) NOT NULL ,
" issue_date " varchar ( 200 ),
" return_date " varchar ( 200 ),
" returned " boolean
);
ALTER TABLE Review ADD FOREIGN KEY ( " user_id " ) REFERENCES RegUser ( " user_id " );
ALTER TABLE Review ADD FOREIGN KEY ( " book_id " ) REFERENCES Book ( " book_id " );
ALTER TABLE BookIssue ADD FOREIGN KEY ( " user_id " ) REFERENCES RegUser ( " user_id " );
ALTER TABLE BookIssue ADD FOREIGN KEY ( " book_id " ) REFERENCES Book ( " book_id " );
이미 구현된 기본 기능은 거의 없으며 이를 기반으로 다른 기능을 구현하거나 구축할 수 있습니다. 구현된 모든 기능에는 다음이 포함됩니다.
GetBookById
AddBook
DeleteBook
SearchBook
GetReviewsOfBook
IssueBook
GetIssueById
GetBooksIssuedByUser
Connect
AddEditDeleteReview
AddAndDeleteUser
SearchUser
main.go
내에서 호출되는 db/db.go
의 Connect()
메서드는 로컬 또는 클라우드 db에 연결하고 외부 사용자가 사용 가능한 기능을 기반으로 db 인스턴스와 상호 작용하는 데 사용할 수 있는 전역 변수 Lib
인스턴스화하는 데 사용됩니다.
db
내부에는 이러한 파일에 위에서 설명한 방법을 제공하는 데이터베이스와 직접 상호 작용하는 코드가 포함되어 있습니다. 여기에 새로운 방법을 추가하고 테스트도 추가해야 합니다.