https://github.com/maxbarsukov-itmo/web-4
πΈοΈ ΠΠ΅Π±-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β4
https://github.com/maxbarsukov-itmo/web-4
itmo java laboratory-work maxbarsukov spring-boot vuejs web
Last synced: 26 days ago
JSON representation
πΈοΈ ΠΠ΅Π±-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° β4
- Host: GitHub
- URL: https://github.com/maxbarsukov-itmo/web-4
- Owner: maxbarsukov-itmo
- License: mit
- Created: 2023-11-12T19:15:29.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-11-28T04:57:22.000Z (about 2 years ago)
- Last Synced: 2025-01-25T16:42:28.693Z (about 1 year ago)
- Topics: itmo, java, laboratory-work, maxbarsukov, spring-boot, vuejs, web
- Language: Java
- Homepage: https://se.ifmo.ru/~s367081/web/lab4
- Size: 2.01 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° 4
## ΠΠ°ΡΠΈΠ°Π½Ρ `14`

> I had a problem, so I thought to use Java.
>
> Now I have a `ProblemFactory`
[](https://rubyonrails.org/)
[](https://rubyonrails.org/)
[](https://rubyonrails.org/) \
[](https://www.ruby-lang.org/)
[](https://www.ruby-lang.org/)
[](https://rubyonrails.org/)
[](https://rubyonrails.org/) \
[](https://rubyonrails.org/)
[](https://rubyonrails.org/)
[](https://rubyonrails.org/)
|.pdf|.docx|
|-|-|
| [report](./docs/report.pdf) | [report](./docs/report.docx) |
ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· [ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ](https://se.ifmo.ru/courses/web#lab3) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:
- Π£ΡΠΎΠ²Π΅Π½Ρ **back-end** Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° [Spring](https://spring.io/).
- Π£ΡΠΎΠ²Π΅Π½Ρ **front-end** Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ Π½Π° [Vue.js](https://vuejs.org/) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° HTML
- ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ²Π½ΡΠΌΠΈ **back-end** ΠΈ **front-end** Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ **REST API**.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ 2 ΡΡΡΠ°Π½ΠΈΡΡ - _ΡΡΠ°ΡΡΠΎΠ²ΡΡ_ ΠΈ _ΠΎΡΠ½ΠΎΠ²Π½ΡΡ_ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ±Π΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² 3 ΡΠ΅ΠΆΠΈΠΌΠ°Ρ
:
- **"ΠΠ΅ΡΠΊΡΠΎΠΏΠ½ΡΠΉ"** - Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠΈΡΠΈΠ½Π° ΡΠΊΡΠ°Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π²Π½Π° ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ **1210** ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
- **"ΠΠ»Π°Π½ΡΠ΅ΡΠ½ΡΠΉ"** - Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠΈΡΠΈΠ½Π° ΡΠΊΡΠ°Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΡΠ°Π²Π½Π° ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ **773**, Π½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ **1210** ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
- **"ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ"**- Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠΈΡΠΈΠ½Π° ΡΠΊΡΠ°Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠ΅Π½ΡΡΠ΅ **773** ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅:
1. ΠΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π²Ρ
ΠΎΠ΄Π΅ Π² Π°ΠΊΠΊΠ°ΡΠ½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΈΡΡΠΌΠΎ Π½Π° ΠΏΠΎΡΡΡ (**JavaMail**).
2. ΠΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ REST ΡΠ΅ΡΠ²ΠΈΡ Π² **SOAP** ΡΠ΅ΡΠ²ΠΈΡ.

### Π‘ΡΠ°ΡΡΠΎΠ²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:
- "**Π¨Π°ΠΏΠΊΡ**", ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π€ΠΠ ΡΡΡΠ΄Π΅Π½ΡΠ°, Π½ΠΎΠΌΠ΅Ρ Π³ΡΡΠΏΠΏΡ ΠΈ Π½ΠΎΠΌΠ΅Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
- **Π€ΠΎΡΠΌΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ**. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡ
Π΄ΠΎΠ»ΠΆΠ½Π° Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΠ (ΠΏΠ°ΡΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ
ΡΡ-ΡΡΠΌΠΌΡ). ΠΠΎΡΡΡΠΏ Π½Π΅Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°ΠΏΡΠ΅ΡΡΠ½.
### ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ:
- ΠΠ°Π±ΠΎΡ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π΄ΠΈΡΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΡ: `Radio {'-4','-3','-2','-1','0','1','2','3','4'}` Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎ **ΠΎΡΠΈ X**, `Text (-5 ... 5)` Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎ **ΠΎΡΠΈ Y**, ΠΈ `Radio {'-4','-3','-2','-1','0','1','2','3','4'}` Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ **ΡΠ°Π΄ΠΈΡΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ**. ΠΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π²Π²ΠΎΠ΄ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
(ΡΠ°ΠΊΠΈΡ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π±ΡΠΊΠ²Ρ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ
ΡΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°Π΄ΠΈΡΡ), ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈΡ
_Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ_.
- **ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ**, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π½Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈ ΡΠΎΡΠΊΠΈ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΊΠΎΡΠΎΡΡΡ
Π±ΡΠ»ΠΈ Π·Π°Π΄Π°Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΈΡ
Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΡ. Π¦Π²Π΅Ρ ΡΠΎΡΠ΅ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²ΠΈΡΠΈΡΡ ΠΎΡ ΡΠ°ΠΊΡΠ° ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ / Π½Π΅ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΡ. Π‘ΠΌΠ΅Π½Π° ΡΠ°Π΄ΠΈΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.
- **Π’Π°Π±Π»ΠΈΡΡ** ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ.
- Π‘ΡΡΠ»ΠΊΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ **Π·Π°ΠΊΡΡΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΡΡΠΈΡ** ΠΈ Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π° ΡΡΠ°ΡΡΠΎΠ²ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π‘Π£ΠΠ `Oracle`.
- ΠΠ»Ρ **Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΠ** Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ `Spring Data`.
### ΠΠΎΠΏΡΠΎΡΡ ΠΊ Π·Π°ΡΠΈΡΠ΅ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ:
**ΠΡΠ²Π΅ΡΡ**: [*Π½ΠΎΠ²ΡΠ΅*](https://github.com/EgorMIt/ITMO/blob/master/2%20-%20%D0%92%D0%B5%D0%B1-%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/Lab4.md) ΠΈ [*ΡΡΠ°ΡΡΠ΅*](https://github.com/AppLoidx/Web-Development-Cheats/blob/master/itmo-university/labs/Lab4.md)
1. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° `Java EE`. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
2. ΠΡΠΈΠ½ΡΠΈΠΏΡ `IoC`, `CDI` ΠΈ `Location Transpanency`. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ.
3. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ.
4. `Java EE API`. ΠΠΈΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΡΠΎΡΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ `Java EE`.
5. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ `EJB`. `Stateless` & `Stateful` `Session Beans`. `EJB Lite` ΠΈ `EJB Full`.
6. Π Π°Π±ΠΎΡΠ° Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ Π² `Java EE`. `JavaMail API`.
7. `JMS`. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π‘ΠΏΠΎΡΠΎΠ±Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. `Message-Driven Beans`.
8. ΠΠΎΠ½ΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ Π² `Java EE`. `JTA`.
9. ΠΠ΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ. Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ `JAX-RS` ΠΈ `JAX-WS`.
10. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° `Spring`. Π‘Ρ
ΠΎΠ΄ΡΡΠ²Π° ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡ Ρ `Java EE`.
11. ΠΠΎΠ΄ΡΠ»ΠΈ `Spring`. ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° `Spring Runtime`. `Spring Security` ΠΈ `Spring Data`.
12. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ `IoC` ΠΈ `CDI` Π² `Spring`. Π‘Ρ
ΠΎΠ΄ΡΡΠ²Π° ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡ Ρ `Java EE`.
13. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ `REST API` Π² `Java EE` ΠΈ `Spring`.
14. `React JS.` ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
15. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ `React`. `State` & `props`. "Π£ΠΌΠ½ΡΠ΅" ΠΈ "Π³Π»ΡΠΏΡΠ΅" ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
16. Π Π°Π·ΠΌΠ΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡ Π² `React`-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
. `JSX`.
17. ΠΠ°Π²ΠΈΠ³Π°ΡΠΈΡ Π² `React`-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
. `ReactRouter`.
18. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. `Redux`.
19. `Angular`: Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
20. `Angular`: ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ `DI`.
21. `Angular`: ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΡΠ°Π½ΠΈΡ, ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ `CSS`.
22. `Angular`: ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΡΠΎΡΠΌ.
### ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ?
ΠΠΊΡΠΏΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
export $(cat .env | xargs)
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
:
docker compose up
ΠΠ°ΠΏΡΡΠΊ **back-end**:
./gradlew genJaxb
./gradlew bootRun
ΠΠ°ΠΏΡΡΠΊ **front-end**:
cd frontend
npm run dev
ΠΡΠΎΠ΅ΠΊΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ
[ΠΠΈΡΠ΅Π½Π·ΠΈΠΈ MIT](https://opensource.org/licenses/MIT).
*ΠΠ²ΡΠΎΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²Π° 2023 Max Barsukov*
**ΠΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π²Π΅Π·Π΄Ρ :star:, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ.**