ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π΄Ρ:
-
ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΠ½ΡΡΠ°Π½ΡΠΈΡ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- http://158.101.219.58:8080/?continue
- ΠΡΠ° ΡΡΠ΅Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ.
- ΠΠ΅ΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
- Email:
tester@tester.com
- ΠΠ°ΡΠΎΠ»Ρ:
password
- Email:
-
Live Demo ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- https://murzin.tech/?continue
- ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.
- ΠΠ΅ΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
- Email:
tester@tester.com
- ΠΠ°ΡΠΎΠ»Ρ:
password
- Email:
- π ΠΠ±ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
- β¨ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- π οΈ Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
- π ΠΠΎΠ΄Π΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- π ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ
- π₯ ΠΡΠ΅Π΄ΠΈΡΡ
Library Management System β ΡΡΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ. ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ. ππ₯
ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π½ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠ΅Π±Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΌΠΈΠ½Π°ΡΠ°:
- ΠΡΡΡ: IKT - ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java
Π ΠΎΠ»ΠΈ (ΠΎΡΠ½ΠΎΠ²Π° Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ):
- ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΡ
- Π§ΠΈΡΠ°ΡΠ΅Π»Ρ
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
- π Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ)
- βοΈ Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- ποΈ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- π ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ (Π²Ρ ΠΎΠ΄/Π²ΡΡ ΠΎΠ΄)
- π ΠΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ, ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠ΅ΠΉ, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΈ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ)
- π ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
- π§βπΌ ΠΠΎΠΊΠ°Π·Π°ΡΡ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΠΎΠΈ Π΄Π°Π½Π½ΡΠ΅)
π Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ/ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
- π© ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ "ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ" ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°
- π¬ ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ "ΠΠ°ΠΉΠΌ Π½Π°ΡΠ°Ρ" ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ
- π₯ ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΈΡΡΠΌΠΎ "ΠΠ°ΠΉΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½" ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ
- Backend: Java, Spring Boot, Spring Security
- Frontend: Thymeleaf, Bootstrap, HTML5, CSS3, JavaScript, jQuery
- ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ : Flyway, PostgreSQL
- ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΡ: Docker
- IDE: IntelliJ IDEA
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Library Management System ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ:
-
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ name
varchar ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±ΠΎΡΡ title
varchar ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ description
varchar ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π²ΡΠΎΡΠ° first_name
varchar ΠΠΌΡ Π°Π²ΡΠΎΡΠ° last_name
varchar Π€Π°ΠΌΠΈΠ»ΠΈΡ Π°Π²ΡΠΎΡΠ° -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ work_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΡ publisher_name
varchar ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ year_of_publishing
timestamp ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ isbn
varchar ISBN ΠΊΠ½ΠΈΠ³ΠΈ book_status
status Π‘ΡΠ°ΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ available
boolean ΠΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ first_name
varchar ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ last_name
varchar Π€Π°ΠΌΠΈΠ»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ password
varchar ΠΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ email
varchar Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ date_of_birth
timestamp ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ contact_number
varchar ΠΠΎΠ½ΡΠ°ΠΊΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ enabled
boolean Π‘ΡΠ°ΡΡΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΉΠΌΠ° member_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠΈΡΠ°ΡΠ΅Π»Ρ librarian_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΡ book_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠ½ΠΈΠ³Ρ date_issued
timestamp ΠΠ°ΡΠ° Π²ΡΠ΄Π°ΡΠΈ date_returned
timestamp ΠΠ°ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ id
integer (PK) Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ»ΠΈ name
varchar ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΠΈ (Admin, Librarian, Member) -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ user_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ role_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠΎΠ»Ρ -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ work_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΡ author_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π°Π²ΡΠΎΡΠ° -
ΠΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ work_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΡ category_id
integer (FK) Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ
-
work_author:
work_id
βοΈ work.id
author_id
βοΈ author.id
-
work_category:
work_id
βοΈ work.id
category_id
βοΈ category.id
-
book:
work_id
βοΈ work.id
-
loan:
member_id
βοΈ user.id
(ΡΠΈΡΠ°ΡΠ΅Π»Ρ)librarian_id
βοΈ user.id
(Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΡ)book_id
βοΈ book.id
-
user_role:
user_id
βοΈ user.id
role_id
βοΈ role.id
- ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ (PK) Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
- ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠ»ΡΡΠΈ (FK) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ .
- Π ΠΎΠ»ΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ
user_role
Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. - ΠΠ°ΠΉΠΌΡ (loan) ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ΅ΠΉ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ Π²ΡΠ΄Π°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ½ΠΈΠ³.
- ΠΠ½ΠΈΠ³ΠΈ (book) ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ (work) ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΠΈ Π°Π²ΡΠΎΡΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΠ°Π±Π»ΠΈΡΡ
work_category
ΠΈwork_author
.
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- Docker Π²ΠΌΠ΅ΡΡΠ΅ Ρ docker-compose
- Java Development Kit (JDK)
- Maven (Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Maven Wrapper)
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
-
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ):
cd library-management-system/
-
Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅
.jar
ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΠ°ΠΏΠΊΠ΅target
:./mvnw clean package -DskipTests
-
Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ Docker-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ:
docker-compose up
-
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅: http://localhost:8080/
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
-
ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΡΠ΄Π°Π»ΠΈΡΠ΅ Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈ ΠΈΡ ΡΠΎΠΌΠ°:
docker-compose down
-
Π£Π΄Π°Π»ΠΈΡΠ΅ Docker-ΠΎΠ±ΡΠ°Π·
library-management-system.jar
:docker rmi library-management-system.jar
-
ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΡΠ°Π³ΠΈ 2-4.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ .deb
ΠΈ .rpm
Ρ ΠΏΠΎΠΌΠΎΡΡΡ jpackage
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
-
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ
.deb
ΠΏΠ°ΠΊΠ΅ΡΠ°:- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅
fakeroot
:sudo apt-get update sudo apt-get install fakeroot
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅
-
ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ
.rpm
ΠΏΠ°ΠΊΠ΅ΡΠ°:- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅
rpm-build
:sudo apt-get update sudo apt-get install rpm
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
jpackage --input target \
--name LibraryManagementSystem \
--main-jar library-management-system.jar \
--type deb \
--icon assets/images/icon.png \
--dest out_dir
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
jpackage --input target \
--name LibraryManagementSystem \
--main-jar library-management-system.jar \
--type rpm \
--icon assets/images/icon.png \
--dest out_dir
--app-version
: Π£ΠΊΠ°Π·Π°ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.--icon
: ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,icon.png
).--dest
: Π£ΠΊΠ°Π·Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ Ρ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ:
jpackage --input target \
--name LibraryManagementSystem \
--main-jar library-management-system.jar \
--type deb \
--icon assets/images/icon.png \
--dest out_dir
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ:
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ JDK Π²Π΅ΡΡΠΈΠΈ 14 ΠΈΠ»ΠΈ Π²ΡΡΠ΅, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ
jpackage
. jpackage
ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΠΎΠ΄ ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π·Π°ΠΏΡΡΠ΅Π½. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.rpm
ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π±Π°Π·Π΅ RPM (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Fedora ΠΈΠ»ΠΈ CentOS).
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ PostgreSQL Π²Π½ΡΡΡΠΈ ΠΎΠΊΠ½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ IntelliJ IDEA ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
-
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²:
View -> Tool Windows -> Database
-
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π΄Π°Π½Π½ΡΡ :
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ
+
- ΠΡΠ±Π΅ΡΠΈΡΠ΅
Data Source from URL
ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅:
URL:
jdbc:postgresql:///postgres
Driver:PostgreSQL
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ
-
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
- Username:
postgres
- Password:
postgres
- Database:
postgres
- Host:
localhost
- Port:
5432
- Username:
MailHog Web UI, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: http://localhost:8025/
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΠ»Π°Π²Π½ΡΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ, Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ, ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠΎ ΠΊΠΎΡΠ΅, ΠΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ Π΄Π΅ΠΏΠ»ΠΎΡΠΌ, ΠΠΈΠ·Π°ΠΉΠ½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΠ»Π°Π²Π½ΡΠΉ ΠΌΠΎΡΠΈΠ²Π°ΡΠΎΡ, ΠΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΠΌΠ΅ΠΌΡ, ΠΡΠ°ΠΊΡΠ» ΡΠΈΡΡΠ΅ΠΌΡ, ΠΠΎΠ²Π΅Π»ΠΈΡΠ΅Π»Ρ Π±Π°Π³ΠΎΠ², ΠΠ΅Π³Π΅Π½Π΄Π° ΠΊΠΎΠ΄ΠΈΠ½Π³Π°, ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ ΡΠ°Π½ΡΠ΅Π² Ρ Π±ΡΠ±Π½ΠΎΠΌ, Π§Π°ΡΠΎΠ΄Π΅ΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², Π‘Π΅ΠΉΡ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π°, ΠΠΎΡΠΎΠ»Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΠ΅ΡΡ ΠΎΠ²Π½ΡΠΉ ΠΏΠΎΠ²Π΅Π»ΠΈΡΠ΅Π»Ρ Π»ΠΎΠ³ΠΎΠ², ΠΠΎΠΊΠ°ΡΠΎΡ ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ ΡΠΎΡΠ΅ΠΊ Ρ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΠ°ΡΡΠ΅Ρ ΡΠ»ΠΈΡΠ½ΠΈΠΉ, ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΎΡ Ρ Π°ΠΎΡΠ°, ΠΠΎΠΌΠ°ΡΠ΅Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π° (ΠΏΠΎ ΠΏΡΡΠ½ΠΈΡΠ°ΠΌ), Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ "ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΠΌΠΎΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅", ΠΠ»Π°ΡΡΠ΅Π»ΠΈΠ½ Π²Π΅ΡΠΎΠΊ, Π₯ΡΠ°Π½ΠΈΡΠ΅Π»Ρ Π΄Π΅ΠΏΠ»ΠΎΠΉ-ΠΊΠ»ΡΡΠ΅ΠΉ, Π‘ΠΎΠ±ΠΈΡΠ°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΊ-ΡΡΠ΅ΠΉΡΠΎΠ²:
- Aleksandr Murzin π
Programming in Java
Faculty of Electrical Engineering and Information Technology of STU in Bratislava