https://github.com/tletle7102/catconnect
π±κ³ μμ΄ μ
μμ μνλ μ¬λλ€κ³Ό λΆμμ μνλ μ¬λλ€μ μ°κ²°νλ λ§€μΉ νλ«νΌ
https://github.com/tletle7102/catconnect
intellij java jpa postgresql spring-boot spring-security
Last synced: 3 months ago
JSON representation
π±κ³ μμ΄ μ μμ μνλ μ¬λλ€κ³Ό λΆμμ μνλ μ¬λλ€μ μ°κ²°νλ λ§€μΉ νλ«νΌ
- Host: GitHub
- URL: https://github.com/tletle7102/catconnect
- Owner: tletle7102
- Created: 2025-02-15T10:28:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-13T13:27:46.000Z (3 months ago)
- Last Synced: 2026-04-13T15:07:21.216Z (3 months ago)
- Topics: intellij, java, jpa, postgresql, spring-boot, spring-security
- Language: Java
- Homepage:
- Size: 629 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π κ³ μμ΄ μ
μ νλ‘μ νΈ



## π― νλ‘μ νΈ κ°μ
μ΄ νλ‘μ νΈλ DDD(Domain-Driven Design) ν¨ν΄μ μ μ©νμ¬ κ΅¬μ±λ Spring Boot κΈ°λ° μλ² μ΄ν리μΌμ΄μ
κ³ μμ΄λ₯Ό μ
μνκΈΈ μνλ μ¬λλ€μ μ°κ²°νλ νλ«νΌ
`JPA`, `Spring Security`, `Lombok` λ±μ νμ©νκ³ , `PostgreSQL`μ λ°μ΄ν°λ² μ΄μ€λ‘ μ¬μ©
## π ν¨ν€μ§ ꡬ쑰
```
src
βββ main
β βββ java/com.matchhub.catconnect
β β βββ common
β β β βββ controller
β β β βββ enums # ErrorCode μ μ
β β β βββ model
β β β β βββ entity # BaseEntity μ μ
β β βββ domain
β β β βββ board
β β β β βββ restcontroller # API 컨νΈλ‘€λ¬ (β/apiβ prefix)
β β β β βββ model
β β β β β βββ dto
β β β β β βββ entity
β β β β β βββ enums
β β β β β βββ record
β β β β βββ repository
β β β β βββ service
β β β βββ comment # boardμ λμΌν ꡬ쑰
β β β βββ user # boardμ λμΌν ꡬ쑰
β β βββ global
β β β βββ configuration # JpaAuditingConfig
β β β βββ exception # μμΈ μ²λ¦¬ (GlobalExceptionHandler λ±)
β β β βββ response # API Response μ μ
β β β βββ util
β β β β βββ auth
β β β β βββ mail
β β βββ CatconnectApplication # SpringBootApplication μ§μ
μ
β βββ resources
β β βββ static
β β βββ templates
β β βββ application.yml
β β βββ application-dev.yml
β β βββ application-local.yml
β β βββ application-prod.yml
```
## βοΈ κΈ°μ μ€ν
- Lang: Java 21
- Framework: Spring Boot 3.4.2
- DB: PostgreSQL
- Build Tools: Gradle
- Library:
- Spring Boot Starter (JPA, Security, Web, Mail)
- Lombok
## π νλ‘μ νΈ μ€ν λ°©λ²
### 1οΈβ£ ν΄λ‘
ν°λ―Έλμ μ€ννκ³ , μλ λͺ
λ Ήμ΄λ₯Ό μ€ν
```sh
git clone https://github.com/tletle7102/catconnect.git
cd catconnect
```
- `git clone https://github.com/tletle7102/catconnect.git` μ ν΄λΉ κΉνλΈ λ¦¬ν¬μ§ν 리(μ΄ν origin)λ₯Ό 볡μ νμ¬ ν°λ―Έλμ μμΉν λλ ν 리μ μ€μΉνμ¬ λ‘컬 리ν¬μ§ν 리λ₯Ό μμ±νλ λͺ
λ Ήμ΄
- `cd catconnect` λ μ λͺ
λ Ήμ΄λ₯Ό μ€νμν¨ λλ ν 리μμ λ‘컬 리ν¬μ§ν 리μ μμ±λ 리ν¬μ§ν 리 λλ ν λ¦¬λ‘ μ΄λνλ λͺ
λ Ήμ΄
### 2οΈβ£ νκ²½λ³μ μ€μ
νλ‘μ νΈ λ£¨νΈ λλ ν 리μ `.env` νμΌμ μμ±νκ³ , μλ λ΄μ©μ μ
λ ₯
μλ λ΄μ©μμ κ°μ΄ μλ λΆλΆμ λ
ΈμΆμ λ―Όκ°νκΈ° λλ¬Έμ μ¬μ© μ, μ±μ λ£μ΄μΌ ν¨
```env
CATCONNECT_SPRING_PROFILE_ACTIVE=
CATCONNECT_TOMCAT_PORT=
CATCONNECT_SPRING_SECURITY_JWT_SECRET=
CATCONNECT_SPRING_SECURITY_EXPIRATION=
CATCONNECT_LOCAL_DB_URL=
CATCONNECT_LOCAL_DB_USERNAME=
CATCONNECT_LOCAL_DB_PASSWORD=
CATCONNECT_LOCAL_DB_NAME=
CATCONNECT_DEV_DB_URL=
CATCONNECT_DEV_DB_USERNAME=
CATCONNECT_DEV_DB_PASSWORD=
CATCONNECT_DEV_DB_NAME=
```
### 3οΈβ£ μ€ν
μλ λ λ°©λ² μ€ ν κ°μ§ λ°©λ²μ μ ννμ¬ μ€ν(ν 1)
λ€λ§, μ€ννκΈ° μ μ O/Sμ JDK 21μ΄ μ€μΉλμ΄ μμ΄μΌ ν¨
JDK 21μ μ€μΉμ¬λΆλ `javac --version`μΌλ‘ νμΈ κ°λ₯
#### β νκ²½λ³μ νμΌμ λͺ
λ Ήμ΄λ‘ μ£Όμ
νμ¬ Gradleλ‘ μ€νλ§λΆνΈ μ€ν
```sh
env $(grep -v '^#' dev.env | xargs) ./gradlew bootRun
```
#### β‘ νκ²½λ³μ νμΌμ 리λ
μ€ νκ²½λ³μλ‘ νμ©νμ¬ μ€νλ§λΆνΈ λΉλ ν μ€ν
```sh
export $(grep -v '^#' dev.env | xargs) && ./gradlew clean build
java -jar build/libs/{νλ‘μ νΈλͺ
}-0.0.1-SNAPSHOT.jar
```