Skip to content

CollaBu/pennyway-was

Repository files navigation

๐Ÿ’ฐ Pennyway

์ง€์ถœ ๊ด€๋ฆฌ SNS ํ”Œ๋žซํผ

Version # Revision Date Description Author
v0.0.1 2024.03.07 ํ”„๋กœ์ ํŠธ ๊ธฐ๋ณธ ์„ค๋ช… ์ž‘์„ฑ ์–‘์žฌ์„œ
v0.0.2 2024.03.29 ERD ์ถ”๊ฐ€, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „ ์ˆ˜์ •, Infra ์ถ”๊ฐ€ ์–‘์žฌ์„œ
v0.0.3 2024.04.05 ERD ์ˆ˜์ •, ๊ธฐ์ˆ  ์Šคํƒ ์ถ”๊ฐ€, Infra ๋ฐ ์•„ํ‚คํ…์ฒ˜ ์ถ”๊ฐ€/์ˆ˜์ • ์–‘์žฌ์„œ

๐Ÿ‘ช Backend Team

์–‘์žฌ์„œ ์ด์ง„์šฐ ์•ˆ์„ฑ์œค

๐ŸŒณ Branch Convention

๐Ÿ’ก Git-Flow ์ „๋žต์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • main
    • ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์˜ ์ฝ”๋“œ๋งŒ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๋•์…˜์šฉ ๋ธŒ๋žœ์น˜
    • PM(์–‘์žฌ์„œ)์˜ ์Šน์ธ ํ›„ ๋ณ‘ํ•ฉ ๊ฐ€๋Šฅ
  • dev
    • ๊ฐœ๋ฐœ ์ „์šฉ ๋ธŒ๋žœ์น˜
    • ํ•œ ๋ช… ์ด์ƒ์˜ ํŒ€์›์˜ ์Šน์ธ ํ›„ ๋ณ‘ํ•ฉ ๊ฐ€๋Šฅ
    • ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋œ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰
  • ์ด์Šˆ ๊ธฐ๋ฐ˜ ๋ธŒ๋žœ์น˜
    • ์ด์Šˆ๋Š” {ํ‹ฐ์ผ“๋ฒˆํ˜ธ}-{๋ธŒ๋žœ์น˜๋ช…}์„ ํฌํ•จํ•œ๋‹ค.
    • feat/{ํ‹ฐ์ผ“๋ฒˆํ˜ธ}-{๋ธŒ๋žœ์น˜๋ช…}: ์‹ ๊ทœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์‹œ ๋ธŒ๋žœ์น˜๋ช…
    • fix/{ํ‹ฐ์ผ“๋ฒˆํ˜ธ}-{๋ธŒ๋žœ์น˜๋ช…}: ๋ฆฌํŒฉํ† ๋ง, ์ˆ˜์ • ์ž‘์—… ์‹œ ๋ธŒ๋žœ์น˜๋ช…
    • hotfix/{ํ‹ฐ์ผ“๋ฒˆํ˜ธ}-{๋ธŒ๋žœ์น˜๋ช…}: ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ฒ„๊ทธ ์กฐ์น˜ ์‹œ ๋ธŒ๋žœ์น˜๋ช…

๐Ÿค Commit Convention

๐Ÿ’ก angular commit convention

  • release: ๋ฐฐํฌ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ (major)
  • feat: ์‹ ๊ทœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (minor)
  • refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง (minor)
  • fix: ๋ฒ„๊ทธ ์ˆ˜์ • (patch)
  • docs: ๋ฌธ์„œ ์ˆ˜์ • (patch)
  • rename: ์ฃผ์„, ๋กœ๊ทธ, ๋ณ€์ˆ˜๋ช… ๋“ฑ ์ˆ˜์ • (patch)
  • style: ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ (์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†๋Š” ๊ฒฝ์šฐ) (patch)
  • test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ๋ฆฌํŽ™ํ† ๋ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ (patch)
  • chore: ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ • (patch)

๐Ÿ“Œ Architecture

1๏ธโƒฃ System Architecture

2๏ธโƒฃ Infrastructure Architecture

3๏ธโƒฃ Multi Module Architecture

4๏ธโƒฃ ERD


๐Ÿ“— Tech Stack

1๏ธโƒฃ Framework & Library

  • JDK 17
  • SpringBoot 3.2.3
  • Spring Boot Starter Security 3.2.4
  • Spring Data JPA 3.2.3
  • Spring Data Redis
  • Spring Boot Redisson 3.30.0
  • QueryDsl 5.0.0
  • Spring Doc Open API 2.4.0
  • Lombok 1.18.30
  • JUnit 5
  • testcontainers 1.19.7
  • jjwt 0.12.5
  • httpclient5 5.2.25.RELEASE
  • OpenFeign 4.0.6

2๏ธโƒฃ Build Tools

  • Gradle 7.6.4

3๏ธโƒฃ Database

  • MySQL 8
  • Redis 7.2.4

4๏ธโƒฃ Infra

  • AWS EC2 (for Build Server, Bastion Server)
  • AWS NAT Gateway
  • AWS S3
  • AWS Route53
  • AWS VPC
  • AWS Elastic Load Balancer
  • AWS SNS
  • Docker & Docker-compose
  • Ngnix
  • GitHub Actions