λΉ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ λΆμνμ¬ Udemyμ Inflearn κ°μ’λ₯Ό λ°νμΌλ‘ μ λ’°μ± μλ κ°μλ₯Ό μ 곡ν©λλ€.
ν΄λΉ νλ‘μ νΈλ INFoUμμ μ 곡νλ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ κ°μ μΆμ² μλΉμ€λ₯Ό μ 곡νλ νλ‘μ νΈμ λλ€.
- μ£ΌμκΈ°λ₯
- κ°μμ ν€μλ μ°ΎκΈ°
- κ°μμ ν€μλλ₯Ό κΈ°λ°μΌλ‘ λ€λ₯Έ κ°μ μΆμ²
- ν€μλλ³ κ°μ 컀리νλΌ μμ±
- λ€λ₯Έ μ μ μ 컀리νλΌ μ‘°ν
- κ°μμ κ°μλ ₯, κ°μμλ£, μ€μ΅, νμ , λμ΄λμ κ°μνμ κΈμ /λΆμ λΆμ κ²°κ³Όλ₯Ό μ 곡
java {
sourceCompatibility = '17'
targetCompatibility = '17'
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.0'
id 'io.spring.dependency-management' version '1.1.5'
}
μ¬μ©κΈ°μ | μ 보 |
---|---|
Spring | 3.3.0 |
Database | AWS RDS(MySQL) |
Instance | AWS EC2(Ubuntu) |
CI/CD | Github Actions, AWS Elasticbeanstalk, Nginx |
Build Tool | Gradle |
ERD | StarUML, DataGrip |
Java | Java 17 |
Swagger(Springdoc) | 2.0.2 |
ββποΈ .ebextensions_dev
ββποΈ .github/workflow
ββποΈ .platform
β ββποΈ src
β β ββποΈ main
β β ββποΈ java
β β ββποΈ khu/bigdata
β β ββποΈ infou
β β ββποΈ web
β β β ββποΈ controller
β β β ββποΈ dto
β β ββποΈ business
β β ββποΈ repository
β β ββποΈ implement
β β ββποΈ domain
β β ββποΈ config
β β ββπ½ InfouApplication.java
β β ββποΈ resources
β β β ββπ½ Application.yml
ββ ββποΈ build.gradle
- business:
- λΉμ¦λμ€ λ‘μ§μ ν¬ν¨νλ λλ ν 리μ λλ€. μλΉμ€ λ μ΄μ΄λΌκ³ λ νλ©°, μ ν리μΌμ΄μ μ μ£Όμ κΈ°λ₯μ μννλ μ½λλ₯Ό ν¬ν¨ν©λλ€. μλ₯Ό λ€μ΄, μ¬μ©μ μμ²μ μ²λ¦¬νκ³ , λ°μ΄ν°λ² μ΄μ€μ μνΈ μμ©νλ©°, λλ©μΈ κ°μ²΄λ₯Ό μ‘°μνλ μ½λκ° μ΄ λλ ν 리μ ν¬ν¨λ©λλ€.
- config:
- μ ν리μΌμ΄μ μ μ€μ νμΌμ ν¬ν¨νλ λλ ν 리μ λλ€. Spring Boot μ€μ ν΄λμ€, 보μ μ€μ , λ°μ΄ν°λ² μ΄μ€ μ€μ , μ ν리μΌμ΄μ νλ‘νΌν° νμΌ λ±μ΄ μ¬κΈ°μ μμΉν©λλ€. μ ν리μΌμ΄μ μ μ λ°μ μΈ μ€μ λ° νκ²½ ꡬμ±μ λ΄λΉν©λλ€.
- domain:
- λλ©μΈ λͺ¨λΈμ ν¬ν¨νλ λλ ν 리μ λλ€. μ£Όλ‘ μν°ν° ν΄λμ€κ° μμΉνλ©°, λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈκ³Ό 맀νλλ κ°μ²΄λ₯Ό μ μν©λλ€. μ΄ λλ ν 리μ ν΄λμ€λ€μ μ ν리μΌμ΄μ μ μ£Όμ λ°μ΄ν° ꡬ쑰λ₯Ό λνλ λλ€.
- implement:
- λΉμ¦λμ€ λ‘μ§μ μ€μ λ‘ κ΅¬ννλ ν΄λμ€λ€μ΄ μμΉν©λλ€. μΈν°νμ΄μ€μ ꡬνμ²΄κ° μ΄κ³³μ μμΌλ©°, μλΉμ€ μΈν°νμ΄μ€λ₯Ό ꡬννλ ꡬ체μ μΈ ν΄λμ€λ€μ΄ ν¬ν¨λ©λλ€.
- repository:
- λ°μ΄ν° μ‘μΈμ€ λ μ΄μ΄λ₯Ό λ΄λΉνλ λλ ν 리μ λλ€. JPA 리ν¬μ§ν 리 μΈν°νμ΄μ€λ, λ°μ΄ν°λ² μ΄μ€μ μνΈ μμ©νλ μ½λκ° μμΉν©λλ€. λ°μ΄ν°λ² μ΄μ€ CRUD(Create, Read, Update, Delete) μμ μ μνν©λλ€.
- web:
- μΉ λ μ΄μ΄λ₯Ό λ΄λΉνλ λλ ν 리μ λλ€. μ£Όλ‘ μΉ μμ²μ μ²λ¦¬νλ 컨νΈλ‘€λ¬κ° μ΄κ³³μ μμΉν©λλ€.
- controller:
- HTTP μμ²μ μ²λ¦¬νκ³ , λΉμ¦λμ€ λ‘μ§μ νΈμΆνμ¬ κ²°κ³Όλ₯Ό λ°ννλ ν΄λμ€λ€μ΄ μμΉν©λλ€. μ¬μ©μ μΈν°νμ΄μ€μ μνΈ μμ©νλ©°, μ£Όλ‘ REST API μλν¬μΈνΈλ₯Ό μ μν©λλ€.
- dto:
- λ°μ΄ν° μ μ‘ κ°μ²΄(Data Transfer Object)λ₯Ό ν¬ν¨νλ λλ ν 리μ λλ€. μ£Όλ‘ μ»¨νΈλ‘€λ¬μ μλΉμ€ λ μ΄μ΄ κ°μ λ°μ΄ν° μ μ‘μ λͺ©μ μΌλ‘ μ¬μ©λ©λλ€. λλ©μΈ λͺ¨λΈκ³Όλ λ³λλ‘, ν΄λΌμ΄μΈνΈμ μνΈμμ©νκΈ° μν λ°μ΄ν° ꡬ쑰λ₯Ό μ μν©λλ€.
- ci/cdλ Git Actionκ³Ό AWS Elastic Beanstalkμ νμ©νμ΅λλ€.
- cloud DBλ AWS RDSλ₯Ό μ¬μ©νμ΅λλ€.
- AWS VPCλ₯Ό νμ©νμ¬ μλ² DBλ₯Ό Vpc λ΄μ subnetμ ν λΉνμμ΅λλ€.
- Reverse proxyλ Nginxμ νμ©νμ¬ κ΅¬μΆνμ΅λλ€.
- λλ©μΈ(infou.store) λ±λ‘μ κ°λΉμμ AWS Route 53μ νμ©νμ¬ API μλ²λ μλΈ λλ©μΈ(dev.infou.store)μ νμ©νμ΅λλ€.
Tag Type | content |
---|---|
β¨feat | κΈ°λ₯(feature) |
πdocs | λ¬Έμ μμ (documentation) |
πfix | λ²κ·Έ μμ |
πhotfix | κΈ΄κΈ λ²κ·Έ μμ |
β»οΈrefactor | μ½λ 리ν©ν°λ§(κ°λ μ± ν₯μ) |
π·ci | ci νμ΄νλΌμΈ κ΅¬μΆ κ΄λ ¨ |
πci/cd | ci λΉλ μμ λ° deployment |
chore | κ΄λ¦¬(maintain), ν΅μ¬ λ΄μ©μ μλ κΈ°ν λ³κ²½ |