Skip to content

UMC10th-PLIMAP/PLIMAP-BE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

94 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“PLIMAP-BE

์Œ์•…๊ณผ ์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ์ง€๋„ ์œ„์— ๊ธฐ๋กํ•˜๊ณ  ๊ณต์œ ํ•˜๋Š” PLIMAP์˜ ๋ฐฑ์—”๋“œ API์ž…๋‹ˆ๋‹ค.

ํŒ€์› ๋ฐ ์—ญํ• 

ํŒ€์› ๋‹ด๋‹น ์˜์—ญ
์ฃผ๋ณด๊ฒฝ ๐Ÿ˜ ์ธํ”„๋ผ ๋ฐ ํด๋ผ์šฐ๋“œ
์ด์˜ˆ๋ฆผ ๐Ÿ‘ฅ MemberยทAuth ๋„๋ฉ”์ธ, ํšŒ์› ๋ฐ ์†Œ์…œ ๋กœ๊ทธ์ธ
๊น€๋ฏผ์ฃผ ๐Ÿ—บ๏ธ Place ๋„๋ฉ”์ธ
์ด์„œ์œค ๐Ÿ“ Pin ๊ด€๋ จ API ์„ค๊ณ„
๊น€์˜ˆ์› ๐ŸŽถ Track ๋„๋ฉ”์ธ

๊ธฐ์ˆ  ์Šคํƒ

  • Java 21, Spring Boot 4.1
  • Spring MVC, Spring Data JPA, Hibernate Spatial
  • PostgreSQL 18.4, PostGIS

๋„๋ฉ”์ธ ๊ตฌ์กฐ

๋„๋ฉ”์ธ ์ค‘์‹ฌ์˜ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ์™€ ๊ณ„์ธตํ˜• ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

com.example.plimap
โ”œโ”€โ”€ domain
โ”‚   โ”œโ”€โ”€ auth       # ์ธ์ฆ
โ”‚   โ”œโ”€โ”€ member     # ํšŒ์›
โ”‚   โ”œโ”€โ”€ place      # ์žฅ์†Œ ๋ฐ ์œ„์น˜
โ”‚   โ”œโ”€โ”€ track      # ์Œ์•…
โ”‚   โ””โ”€โ”€ pin        # ์ง€๋„์— ๋‚จ๊ธฐ๋Š” ์Œ์•…ยท์žฅ์†Œ ๊ธฐ๋ก
โ””โ”€โ”€ global         # ๊ณตํ†ต ์„ค์ •, ์‘๋‹ต, ์˜ˆ์™ธ ๋ฐ ์™ธ๋ถ€ ์—ฐ๋™

๊ฐ ๋„๋ฉ”์ธ์€ controller, service, repository, entity, dto ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋ฉฐ, ์„œ๋น„์Šค๋Š” ์ƒํƒœ ๋ณ€๊ฒฝ์„ ๋‹ด๋‹นํ•˜๋Š” command์™€ ์กฐํšŒ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” query๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ถ€๋ถ„์ ์œผ๋กœ CQRS ์•„ํ‚คํ…์ ธ ์ „๋žต์„ ์ทจํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ์‹คํ–‰ ๋ฐฉ๋ฒ•

์‚ฌ์ „ ์ค€๋น„

  • Java 21
  • Docker ๋ฐ Docker Compose

์‹คํ–‰ ๋ฐฉ๋ฒ•

  1. ํ•„์š”ํ•˜๋ฉด ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์˜ˆ์‹œ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด ๋กœ์ปฌ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    # macOS/Linux
    cp .env.example .env
    
    # Windows PowerShell
    Copy-Item .env.example .env
  2. Docker Compose๋กœ ๋กœ์ปฌ PostGIS ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    docker compose up -d
  3. local ํ”„๋กœํ•„๋กœ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ดˆ ์‹คํ–‰ ์‹œ Flyway๊ฐ€ PostGIS ํ™•์žฅ๊ณผ ์ „์ฒด ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    # macOS/Linux
    ./gradlew bootRun --args='--spring.profiles.active=local'
    
    # Windows
    .\gradlew.bat bootRun --args="--spring.profiles.active=local"

    IntelliJ Active profiles์— local์„ ์ง€์ •.

  4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ›„ Swagger UI ๋™์ž‘์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    http://localhost:8080/swagger-ui/index.html
    

์ข…๋ฃŒ ๋ฐฉ๋ฒ•

docker compose down

๋ฐ์ดํ„ฐ๊นŒ์ง€ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด docker compose down -v๋ฅผ ์‹คํ–‰.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Migration, QueryDSL ๋ฐ ํ…Œ์ŠคํŠธ ๊ทœ์น™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

GitHub ํ˜‘์—… ์ „๋žต ๋ฐ ์ปจ๋ฒค์…˜

ํ˜‘์—… ํ๋ฆ„
  1. ์ž‘์—… ์‹œ์ž‘ ์ „ GitHub Issue๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‹ด๋‹น์ž์™€ ๋ผ๋ฒจ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ•˜๋‚˜์˜ Issue์—๋Š” ํ•˜๋‚˜์˜ ์ž‘์—… ๋ชฉ์ ๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  3. Issue ๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋œ ์ž‘์—… ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. ์ž‘์—… ์™„๋ฃŒ ํ›„ develop ๋ธŒ๋žœ์น˜๋กœ Pull Request๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. PR์— ๋ณ€๊ฒฝ ๋‚ด์šฉ๊ณผ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Closes #์ด์Šˆ๋ฒˆํ˜ธ๋กœ Issue๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  6. ์ตœ์†Œ 1๋ช…์˜ ์Šน์ธ์„ ๋ฐ›์€ ๋’ค ๋ณ‘ํ•ฉํ•˜๊ณ  ์ž‘์—… ๋ธŒ๋žœ์น˜๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
๋ธŒ๋žœ์น˜ ์ „๋žต
  • main: ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์•ˆ์ • ๋ฒ„์ „
  • develop: ๊ธฐ๋Šฅ ํ†ตํ•ฉ ๋ฐ ๊ฐœ๋ฐœ ๊ธฐ์ค€ ๋ธŒ๋žœ์น˜
  • ์ž‘์—… ๋ธŒ๋žœ์น˜: develop์—์„œ ์ƒ์„ฑํ•˜๊ณ  ์ž‘์—… ์™„๋ฃŒ ํ›„ develop์œผ๋กœ PR์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.
  • main๊ณผ develop์—๋Š” ์ง์ ‘ pushํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋„ค์ด๋ฐ ์ปจ๋ฒค์…˜
  • Issue: [Type] ์ž‘์—… ๋‚ด์šฉ (์˜ˆ: [Feature] ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„)
  • Branch: <type>/#<issue-number>-<description> (์˜ˆ: feat/#14-signup-api)
  • Commit: <type>: <subject> (์˜ˆ: feat: ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„)
  • PR: [Type] ๋ณ€๊ฒฝ ๋‚ด์šฉ (์˜ˆ: [Feature] ํšŒ์›๊ฐ€์ž… API ๊ตฌํ˜„)

์ž์„ธํ•œ ๋‚ด์šฉ์€ docs๋ฅผ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

About

๐Ÿ“PLIMAP BE ๋ ˆํฌ์ง€ํ† ๋ฆฌ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages