μ΄ νλ‘μ νΈλ κ²½λΆλνκ΅ μ»΄ν¨ν°νλΆ κ±΄λ¬Ό(μ: IT4, IT5 λ±) λ΄ κ°μμ€κ³Ό μμ€λ¬Όμ μμ½ν μ μλ μλ° κΈ°λ°μ GUI νλ‘κ·Έλ¨μ λλ€. μλ° Swingκ³Ό MVC ν¨ν΄μ μ μ©νμ¬, μ€μ 2D λλ©΄ λλμ UIμ μ§κ΄μ μΈ μμ½ κΈ°λ₯μ μ 곡ν©λλ€.
- 2D λλ©΄ κΈ°λ° UI: 건물/μΈ΅λ³ κ°μμ€ λ° μμ€λ¬Ό λ°°μΉλ₯Ό μκ°μ μΌλ‘ νμΈ
- κ°μ© μν νμ: κ° κ°μμ€/μμ€λ¬Όμ μ¬μ© κ°λ₯ μ¬λΆλ₯Ό μμκ³Ό ν μ€νΈλ‘ νμ
- μμ½ κΈ°λ₯: λ²νΌ ν΄λ¦ μ λ μ§/μκ°λ/μμ½μ μ λ ₯ ν μμ½ κ°λ₯ μ¬λΆ νμΈ λ° μ²λ¦¬
- MVC ν¨ν΄ μ μ©: Model-View-Controller κ΅¬μ‘°λ‘ μ μ§λ³΄μμ±κ³Ό νμ₯μ± κ°ν
Gradleμ μλ° νλ‘μ νΈμμ μμ£Ό μ¬μ©νλ "λΉλ λꡬ"μ λλ€.
- μ¬λ¬ κ°μ μλ° νμΌμ ν λ²μ μ»΄νμΌνκ³ , μ€νμ νμν λΌμ΄λΈλ¬λ¦¬(μΈλΆ jar)λ μλμΌλ‘ κ΄λ¦¬ν΄μ€λλ€.
build.gradleνμΌμ νμν μ€μ μ μ μ΄λλ©΄, 볡μ‘ν λͺ λ Ή μμ΄./gradlew buildλλ./gradlew runλ§μΌλ‘ νλ‘μ νΈλ₯Ό λΉλ/μ€νν μ μμ΅λλ€.- μ΄ νλ‘μ νΈμμλ μμ€μ½λ μ»΄νμΌ, μ€ν, λΌμ΄λΈλ¬λ¦¬ κ΄λ¦¬(μ: Swingμ JDKμ λ΄μ₯) λ±μ Gradleμ΄ μλμΌλ‘ μ²λ¦¬ν΄μ€λλ€.
- μ₯μ :
- IDE μμ΄λ ν°λ―Έλμμ μ½κ² λΉλ/μ€ν κ°λ₯
- νμ λͺ¨λκ° λμΌν νκ²½μμ κ°λ° κ°λ₯
- λΌμ΄λΈλ¬λ¦¬ μΆκ°/κ΄λ¦¬κ° λ§€μ° μ¬μ
MVC(Model-View-Controller) ν¨ν΄μ μννΈμ¨μ΄ μ€κ³ μμΉ μ€ νλλ‘, νλ‘κ·Έλ¨μ μΈ κ°μ§ μν λ‘ λΆλ¦¬νμ¬ κ°λ°ν©λλ€.
- Model(λͺ¨λΈ): λ°μ΄ν°μ λΉμ¦λμ€ λ‘μ§μ λ΄λΉν©λλ€. (μ: κ°μμ€, μμ€λ¬Ό, μμ½ μ 보 λ±)
- View(λ·°): μ¬μ©μμκ² λ³΄μ¬μ§λ UIλ₯Ό λ΄λΉν©λλ€. (μ: Swing νλ©΄, λ²νΌ λ±)
- Controller(컨νΈλ‘€λ¬): μ¬μ©μμ μ λ ₯μ λ°μ Modelκ³Ό Viewλ₯Ό μ°κ²°νκ³ , μ΄λ²€νΈλ₯Ό μ²λ¦¬ν©λλ€. μ΄λ κ² λΆλ¦¬νλ©΄ μ½λμ μ¬μ¬μ©μ±κ³Ό μ μ§λ³΄μμ±μ΄ λμμ§κ³ , μν λ³λ‘ νμ μ΄ μ¬μμ§λλ€.
ClassroomReservation/
βββ src/
β βββ main/
β βββ java/org/javateam11/
β β βββ controller/ # 컨νΈλ‘€λ¬ (μ΄λ²€νΈ μ²λ¦¬)
β β βββ model/ # λλ©μΈ λͺ¨λΈ λ° λΉμ¦λμ€ λ‘μ§
β β βββ view/ # μ¬μ©μ μΈν°νμ΄μ€ (Swing)
β βββ resources/
βββ build.gradle
βββ README.md
βββ ...
-
JDK 17 μ΄μμ΄ μ€μΉλμ΄ μμ΄μΌ ν©λλ€.
-
IntelliJ IDEAλ₯Ό μ¬μ©νμ¬ μ€ννλ κ²μ κΆμ₯ν©λλ€:
- IntelliJ IDEAμμ νλ‘μ νΈλ₯Ό μ΄κ³
src/main/java/org/javateam11/Main.javaλ₯Ό μ€ννμΈμ.
λλ ν°λ―Έλμμ νλ‘μ νΈ λ£¨νΈ λλ ν λ¦¬λ‘ μ΄λ ν μλ λͺ λ Ήμ΄λ₯Ό μ€νν μ μμ΅λλ€:
./gradlew build ./gradlew run
- IntelliJ IDEAμμ νλ‘μ νΈλ₯Ό μ΄κ³
- Eclipse Temurin JDK 21
- Gradle λΉλ μμ€ν
- (κΆμ₯) IntelliJ IDEA λλ Eclipse
β οΈ μ£Όμμ¬ν
- main λλ dev λΈλμΉμ μ§μ 컀λ°νμ§ λ§μΈμ!
- dev λΈλμΉμμ μ λΈλμΉλ₯Ό λ§λ€κΈ° μ μ νμ pull ν΄μ μ΅μ μνλ₯Ό μ μ§ν΄μ£ΌμΈμ.
- λͺ¨λ λ³κ²½μ¬νμ λ°λμ dev λΈλμΉμμ λΆκΈ°ν μλ‘μ΄ λΈλμΉμμ μμ ν΄μ£ΌμΈμ.
- μμ μ΄ μλ£λλ©΄ Pull Requestλ₯Ό ν΅ν΄ μ½λ 리뷰λ₯Ό λ°μ νμλ§ main λΈλμΉμ λ³ν©λ©λλ€.
- νμλ€μ κ°μλ§λ€ μμ μ΄ κ°λ°ν /μμ ν κΈ°λ₯μ λΈλμΉλ₯Ό λ°λμ dev λΈλμΉλ₯Ό λ² μ΄μ€λ‘ λ§λ€μ΄μ κ±°κΈ°μ μμ ν©λλ€.
- λΈλμΉ μ΄λ¦μ μμ μ΄ κ°λ°ν /μμ ν κΈ°λ₯μ μ λνλ΄λ μ΄λ¦μΌλ‘ μμ±ν©λλ€. (μ:
feat/reservation-view,fix/button-color) - κΈ°λ₯ μΆκ°/λ²κ·Έ μμ ν Pull Request(PR)λ₯Ό μ¬λ €μ£ΌμΈμ.
- μ½λ μ€νμΌμ μ μ§ν€κ³ μ£Όμμ μ λ¬μμ£ΌμΈμ.