Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π΅Π΄Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠΎΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JavaFX. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅, ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠΉΡΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π°ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ Π»Π΅Π³ΠΊΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠΎΠ³ΠΎ ΠΈ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
- π Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΎΠΊ: ΠΠΈΡΠΈΡΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠΉΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ
- π Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ: ΠΡΠΊΡΡΠ²Π°ΠΉΡΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΈ ΡΠ΄Π°Π»ΡΠΉΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
- πΎ ΠΠ²ΡΠΎΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠΎΠΊ
- π Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°ΠΌΠ΅ΡΠΎΠΊ: ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΠΉΡΠ΅ Π²ΡΠ΅ Π²Π°ΡΠΈ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅
- π¨ Π§ΠΈΡΡΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ: Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΠ°Π½Π΅Π»ΡΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°
- π» ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ: Π Π°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Windows, macOS ΠΈ Linux
- Java 21 ΠΈΠ»ΠΈ Π²ΡΡΠ΅
- Maven 3.6+ (ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Maven)
-
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
git clone https://github.com/yourusername/NNotes.git cd NNotes
-
Π‘ΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
./mvnw clean compile
-
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
./mvnw clean javafx:run
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
# ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ
./mvnw clean compile
# ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
./mvnw clean javafx:run
# ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΡΡ
./mvnw test
# Π£ΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
./mvnw clean package
-
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
- ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π² ΠΏΠΎΠ»Π΅ "NAME"
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅Π½Ρ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ "Save" Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
-
ΠΡΠΊΡΡΡΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ "Open" Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΡ Π·Π°ΠΌΠ΅ΡΠΎΠΊ
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΡ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π°
- Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ
-
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ
- ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΠΉΡΠ΅ Π²ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "Clear" Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "Delete" Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
src/
βββ main/
β βββ java/com/example/demo2/
β β βββ HelloApplication.java # ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
β β βββ HelloController.java # ΠΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° UI
β β βββ Note.java # ΠΠΎΠ΄Π΅Π»Ρ Π΄Π°Π½Π½ΡΡ
Π·Π°ΠΌΠ΅ΡΠΊΠΈ
β β βββ module-info.java # ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Java ΠΌΠΎΠ΄ΡΠ»Ρ
β βββ resources/com/example/demo2/
β βββ hello-view.fxml # ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅ΡΠ° UI
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ:
- Π€ΡΠΎΠ½ΡΠ΅Π½Π΄: JavaFX 21 Ρ FXML
- ΠΡΠΊΠ΅Π½Π΄: Java 21
- Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ: Maven
- Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ : JSON ΡΠ°ΠΉΠ»Ρ (FastJSON)
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: JUnit 5
ΠΠ°ΠΌΠ΅ΡΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ JSON ΡΠ°ΠΉΠ»Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ NNotes/
:
{
"name": "ΠΠΎΡ Π·Π°ΠΌΠ΅ΡΠΊΠ°",
"ntext": "Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ Π·Π΄Π΅ΡΡ...",
"dateOfNote": "Mon Sep 09 10:36:15 2025"
}
- Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΎΡΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ (
git checkout -b feature/AmazingFeature
) - ΠΠ°ΡΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ Π²Π°ΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (
git commit -m 'Add some AmazingFeature'
) - ΠΡΠΏΡΠ°Π²ΡΡΠ΅ Π²Π΅ΡΠΊΡ (
git push origin feature/AmazingFeature
) - ΠΡΠΊΡΠΎΠΉΡΠ΅ Pull Request
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT - ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ» LICENSE Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ 80n
β ΠΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π²Π΅Π·Π΄Ρ ΡΡΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½!