Skip to content

๐Ÿค– HOW? ํ‚คํ‚ค - ์ดํ™”์—ฌ์ž๋Œ€ํ•™๊ต ์บก์Šคํ†ค๋””์ž์ธ 23 ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Notifications You must be signed in to change notification settings

Clover-21/Howkiki_Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– ํ•˜์šฐํ‚คํ‚ค

๊ณ ๊ฐ์˜ ์ƒํ™ฉ์„ ๋ฐ˜์˜ํ•œ ์‘๋Œ€์™€ ์ฃผ๋ฌธ ๊ฒฐ์ œ ์ž๋™ํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ํœด๋จผํ„ฐ์น˜ AI ์ฑ—์˜ค๋”


๐ŸŽ™๏ธ [์บก์Šคํ†ค๋””์ž์ธ ํ”„๋กœ์ ํŠธ 23ํŒ€] ํ•˜์šฐํ‚คํ‚ค ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

  • ํ•˜์šฐํ‚คํ‚ค ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋Š” Spring Boot ๊ธฐ๋ฐ˜์˜ REST API ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ, ์ฑ—์˜ค๋” ๋ฐ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ ์ฃผ๋ฌธ, ๊ฒฐ์ œ, ์•Œ๋ฆผ, ๋งค์žฅ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • SSE ๊ธฐ๋ฐ˜ ์•Œ๋ฆผ, AWS S3 ์ด๋ฏธ์ง€ ์ €์žฅ, PortOne ๊ฒฐ์ œ API ๋“ฑ์„ ์—ฐ๋™ํ•˜์˜€์œผ๋ฉฐ, AWS EC2์™€ GitHub Actions๋ฅผ ํ™œ์šฉํ•œ CI/CD ์ž๋™ ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ

๐Ÿ“Œ Backend

Java Spring Boot JPA

๐Ÿ“Œ Database

MySQL

๐Ÿ“Œ DevOps & Infrastructure

Nginx AWS

๐Ÿ“Œ Payment API

PortOne

๐Ÿ“Œ Version Control

GitHub Git

๐Ÿ”Ž Tech Details

  • Language: Java 17
  • Framework: Spring Boot 3.4
  • Build Tool: Gradle
  • Database: MySQL, AWS S3
  • Payment API: PortOne ๊ฒฐ์ œ API
  • ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹ : Server-Sent Events (SSE)
  • Deployment : AWS EC2, AWS RDS, Nginx, GitHub Actions + AWS CodeDeploy ๊ธฐ๋ฐ˜ CI/CD


๐Ÿ“ Source Code ์„ค๋ช…

1๏ธโƒฃ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

  • ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๊ธฐ๋Šฅ๋ณ„ ๋„๋ฉ”์ธ ๊ตฌ์กฐ(Domain-Driven Design)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ๋„๋ฉ”์ธ์€ menu, notification, order, pay, store, suggestion ์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ๋„๋ฉ”์ธ ๋‚ด์—๋Š” controller, service, repository, dto, entity๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
โ”œโ”€โ”€โ”€main
โ”‚   โ”œโ”€โ”€โ”€generated
โ”‚   โ”œโ”€โ”€โ”€java
โ”‚   โ”‚   โ””โ”€โ”€โ”€clovar
โ”‚   โ”‚       โ””โ”€โ”€โ”€howkiki
โ”‚   โ”‚           โ”œโ”€โ”€โ”€domain
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€โ”€menu # ๋ฉ”๋‰ด ์กฐํšŒ ๋ฐ ๋“ฑ๋ก ๊ด€๋ จ ๊ธฐ๋Šฅ
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€controller
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€dto
โ”‚   โ”‚           โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€โ”€requestDto
โ”‚   โ”‚           โ”‚   โ”‚   โ”‚   โ””โ”€โ”€โ”€responseDto
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€entity
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€repository
โ”‚   โ”‚           โ”‚   โ”‚   โ””โ”€โ”€โ”€service
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€โ”€notification # ์•Œ๋ฆผ ์ „์†ก ๋ฐ ์ˆ˜์‹  ๊ด€๋ จ ๋กœ์ง
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€controller
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€dto
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€entity
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€repository
โ”‚   โ”‚           โ”‚   โ”‚   โ””โ”€โ”€โ”€service
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€โ”€order # ์ฃผ๋ฌธ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€controller
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€dto
โ”‚   โ”‚           โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€โ”€requestDto
โ”‚   โ”‚           โ”‚   โ”‚   โ”‚   โ””โ”€โ”€โ”€responseDto
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€entity
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€repository
โ”‚   โ”‚           โ”‚   โ”‚   โ””โ”€โ”€โ”€service
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€โ”€pay # ๊ฒฐ์ œ ์š”์ฒญ ๋ฐ ๊ฒ€์ฆ ๊ธฐ๋Šฅ (PortOne ์—ฐ๋™)
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€controller
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€dto
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€entity
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€repository
โ”‚   โ”‚           โ”‚   โ”‚   โ””โ”€โ”€โ”€service
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€โ”€store # ๋งค์žฅ ์ •๋ณด ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€controller
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€dto
โ”‚   โ”‚           โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€โ”€request
โ”‚   โ”‚           โ”‚   โ”‚   โ”‚   โ””โ”€โ”€โ”€response
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€entity
โ”‚   โ”‚           โ”‚   โ”‚   โ”œโ”€โ”€โ”€repository
โ”‚   โ”‚           โ”‚   โ”‚   โ””โ”€โ”€โ”€service
โ”‚   โ”‚           โ”‚   โ””โ”€โ”€โ”€suggestion # ์‚ฌ์šฉ์ž ๊ฑด์˜์‚ฌํ•ญ ์ƒ์„ฑ ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ
โ”‚   โ”‚           โ”‚       โ”œโ”€โ”€โ”€controller
โ”‚   โ”‚           โ”‚       โ”œโ”€โ”€โ”€dto
โ”‚   โ”‚           โ”‚       โ”œโ”€โ”€โ”€entity
โ”‚   โ”‚           โ”‚       โ”œโ”€โ”€โ”€repository
โ”‚   โ”‚           โ”‚       โ””โ”€โ”€โ”€service
โ”‚   โ”‚           โ””โ”€โ”€โ”€global
โ”‚   โ”‚               โ”œโ”€โ”€โ”€config # ์ „์—ญ ์„ค์ • (CORS, S3, PortOne, Security ๋“ฑ)
โ”‚   โ”‚               โ”œโ”€โ”€โ”€entity # ๊ณตํ†ต ์—”ํ‹ฐํ‹ฐ (BaseEntity)
โ”‚   โ”‚               โ”œโ”€โ”€โ”€exception # ์ปค์Šคํ…€ ์˜ˆ์™ธ ๋ฐ ์ „์—ญ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ
โ”‚   โ”‚               โ””โ”€โ”€โ”€response # API ์‘๋‹ต ํฌ๋งท ํ†ต์ผ ํด๋ž˜์Šค (ApiResponse)
โ”‚   โ””โ”€โ”€โ”€resources
โ””โ”€โ”€โ”€test
    โ””โ”€โ”€โ”€java
        โ””โ”€โ”€โ”€clovar
            โ””โ”€โ”€โ”€howkiki

2๏ธโƒฃ ๊ฐ ๋””๋ ‰ํ† ๋ฆฌ ์„ค๋ช…

  • controller/: REST API ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์—”๋“œํฌ์ธํŠธ
  • service/: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ
  • repository/: JPA ๊ธฐ๋ฐ˜ DB ์ ‘๊ทผ ๊ณ„์ธต
  • dto/: ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๊ฐ์ฒด (์š”์ฒญ, ์‘๋‹ต ๋ถ„๋ฆฌ๋จ)
  • entity/: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”๊ณผ ๋งคํ•‘๋˜๋Š” ๋„๋ฉ”์ธ ๋ชจ๋ธ
  • global/config/: ์ „์—ญ ์„ค์ • ํด๋ž˜์Šค (Spring ์„ค์ •, S3, PortOne ๋“ฑ)
  • global/exception/: ์ปค์Šคํ…€ ์˜ˆ์™ธ ์ •์˜ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ•ธ๋“ค๋Ÿฌ
  • global/response/: API ์‘๋‹ต ๊ตฌ์กฐ ํ†ต์ผ์„ ์œ„ํ•œ ๋ž˜ํผ ํด๋ž˜์Šค

3๏ธโƒฃ ๊ธฐ๋Šฅ API ๋ช…์„ธ์„œ

๊ฐ ๋„๋ฉ”์ธ ๋ณ„ ์ž์„ธํ•œ ๊ธฐ๋Šฅ ์„ค๋ช…์€ ์•„๋ž˜์˜ API ๋ช…์„ธ์„œ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.
๐Ÿ‘‰ ํ•˜์šฐํ‚คํ‚ค - API ๋ช…์„ธ์„œ



๐Ÿš€ How to install & Run

ํ•˜์šฐํ‚คํ‚ค ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ ํ”„๋กœ์ ํŠธ ํด๋ก 

git clone https://github.com/Clover-21/Howkiki_Backend.git
cd Howkiki_Backend

2๏ธโƒฃ MySQL ์„ค์ •

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” MySQL 8.0 ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ howkiki_db๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ๋กœ์ปฌ connection์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ๊ณผ์ •์€ ๋„˜์–ด๊ฐ€์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

โš ๏ธ MySQL์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๊ฐ์ž์˜ ๋กœ์ปฌ ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฏ€๋กœ ๋ณธ์ธ์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

  1. ๐Ÿฌ MySQL Workbench ์‹คํ–‰ ํ›„, ์ขŒ์ธก ์ƒ๋‹จ์˜ + ๋ฒ„ํŠผ(New Connection) ํด๋ฆญ
  2. Connection Name: howkiki_local (์ž์œ ๋กญ๊ฒŒ ์„ค์ • ๊ฐ€๋Šฅ)
  3. Username: root ๋˜๋Š” ๋ณธ์ธ ์„ค์ •
  4. Password: ์ €์žฅํ•ด๋‘” ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ
  5. Test Connection ๋ฒ„ํŠผ ํด๋ฆญ โ†’ ์„ฑ๊ณต ํ™•์ธ ํ›„ ์ €์žฅ
  6. cf) ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (ํ”„๋กœ์ ํŠธ ์‹คํ–‰์‹œ ์ž๋™ ์ƒ์„ฑ๋˜๋ฏ€๋กœ ์˜ต์…˜์‚ฌํ•ญ):
CREATE DATABASE IF NOT EXISTS howkiki_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3๏ธโƒฃ ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ (application.yml)

  • src/main/resource ์œ„์น˜์— application.yml ํŒŒ์ผ์„ ์•„๋ž˜ ํ˜•์‹์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, AWS S3 ์—ฐ๋™, ์™ธ๋ถ€ ๊ฒฐ์ œ API ์—ฐ๋™์„ ์œ„ํ•œ ์ •๋ณด๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๊ธฐ์„œ [ ] ๋ถ€๋ถ„์— ์‹ค์ œ ๊ฐ’ ๋˜๋Š” ํ‚ค ๊ฐ’์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • โš ๏ธ ์ด ํŒŒ์ผ์€ .gitignore์— ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ ˆ๋Œ€ ์ปค๋ฐ‹ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/howkiki_db?createDatabaseIfNotExist=true&characterEncoding=UTF-8&characterSetResults=UTF-8
    username: [YOUR_DB_USERNAME]
    password: [YOUR_DB_PASSWORD]
  jpa:
    hibernate:
      ddl-auto: update
    generate-ddl: true
    show-sql: true
  servlet:
    multipart:
      max-file-size: 10MB # ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ณ„ ํŒŒ์ผ ์ตœ๋Œ€ ํฌ๊ธฐ. ๊ธฐ๋ณธ 1MB
      max-request-size: 10MB  # multipart/form-data ์š”์ฒญ์˜ ์ตœ๋Œ€ ํ—ˆ์šฉ ํฌ๊ธฐ. ๊ธฐ๋ณธ 10MB

# AWS S3
cloud:
  aws:
    credentials:
      access-key: [AWS ACCESS KEY]
      secret-key: [AWS SECRET KEY]
    region:
      static: ap-northeast-2 # ๋ฒ„ํ‚ท์˜ ๋ฆฌ์ „
    s3:
      bucket: howkiki-img-bucket  # ๋ฒ„ํ‚ท ์ด๋ฆ„
    stack:
      auto: false

# PortOne
portone:
  api-key: [ํฌํŠธ์› API KEY]
  api-secret: [ํฌํŠธ์› API SECRET]

4๏ธโƒฃ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

./gradlew bootRun


๐Ÿ’ฟ Sample Data

  • ์•„๋ž˜์˜ ์ƒ˜ํ”Œ SQL์„ ํ†ตํ•ด ์ดˆ๊ธฐ Store, Menu ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    (API๋ฅผ ํ†ตํ•ด ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์œผ๋‚˜ ํ…Œ์ŠคํŠธ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ œ๊ณต)
  • ํŒŒ์ผ ์œ„์น˜: src/main/resources/sample-data.sql

ํฌํ•จ๋œ ๋‚ด์šฉ

  • stores ํ…Œ์ด๋ธ”์— ๋งค์žฅ 1๊ฐœ ์ƒ์„ฑ
  • menu ํ…Œ์ด๋ธ”์— ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ 25๊ฐœ ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
  • ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ created_at, modified_at์€ NOW()๋กœ ์„ค์ •

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. MySQL์—์„œ howkiki_db ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ ํƒ
  2. sample-data.sql ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€ ์‹คํ–‰


โš™๏ธ How to Test

  • ํ•˜์šฐํ‚คํ‚ค ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ REST API ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • Postman์„ ํ†ตํ•ด ๊ฐ ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ Postman ํ™˜๊ฒฝ ์„ค์ •

  1. Postman์„ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์›น ๋ฒ„์ „ ์‚ฌ์šฉ
  2. ์„œ๋ฒ„ ์‹คํ–‰ ํ›„ http://localhost:8080์„ ๊ธฐ์ค€์œผ๋กœ ์š”์ฒญ

์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค (./gradlew bootRun ๋˜๋Š” jar ์‹คํ–‰)


2๏ธโƒฃ API ๋ช…์„ธ์„œ ์ฐธ๊ณ 

๐Ÿ‘‰ ํ•˜์šฐํ‚คํ‚ค_API ๋ช…์„ธ์„œ(Notion)

  • ๋ช…์„ธ์„œ์—๋Š” API ์„ค๋ช…, ์š”์ฒญ URL, ์š”์ฒญ ๋ฐ”๋””, ์‘๋‹ต ํ˜•ํƒœ, ์ธ์ฆ ๋ฐฉ์‹ ๋“ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ ํ…Œ์ŠคํŠธ ์˜ˆ์‹œ ํ™”๋ฉด

  • ์ฃผ๋ฌธ ์ƒ์„ฑ ์˜ˆ์‹œ




๐Ÿ’พ ERD

ํ•˜์šฐํ‚คํ‚ค_ERD)


โœ๏ธ SW ๊ตฌ์กฐ๋„

ํ•˜์šฐํ‚คํ‚ค_SW๊ตฌ์กฐ๋„


๐Ÿ“š Description of Used Open Source

๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค๋ช… ์‚ฌ์šฉ ๋ชฉ์ 
Spring Boot Java ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์›น ์„œ๋ฒ„ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ ์ œ๊ณต
Spring Data JPA ORM(Object-Relational Mapping) ์ง€์› Java ๊ฐ์ฒด โ†” DB ํ…Œ์ด๋ธ” ๋งคํ•‘ ์ž๋™ํ™”
Spring Security ์ธ์ฆ/์ธ๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ณด์•ˆ ์„ค์ • ๋ฐ API ๋ณดํ˜ธ
Lombok ๋ฐ˜๋ณต ์ฝ”๋“œ ์ƒ๋žต์„ ์œ„ํ•œ ์• ๋„ˆํ…Œ์ด์…˜ ์ฒ˜๋ฆฌ๊ธฐ Getter/Builder ์ž๋™ ์ƒ์„ฑ
MySQL Connector/J MySQL์šฉ JDBC ๋“œ๋ผ์ด๋ฒ„ DB ์—ฐ๊ฒฐ
AWS SDK for Java (S3) AWS ์„œ๋น„์Šค ์—ฐ๋™ ์ด๋ฏธ์ง€ ํŒŒ์ผ S3 ์—…๋กœ๋“œ ๋ฐ ๋ฒ„ํ‚ท ๊ด€๋ฆฌ
PortOne REST Client ํฌํŠธ์› ๊ฒฐ์ œ ์—ฐ๋™ ๋ชจ๋“ˆ ๊ฒฐ์ œ API ํ˜ธ์ถœ ๋ฐ ์ƒํƒœ ๊ฒ€์ฆ
Hibernate JPA ๊ตฌํ˜„์ฒด Entity ๊ธฐ๋ฐ˜ DB ์กฐ์ž‘ ๊ธฐ๋Šฅ ๊ตฌํ˜„

About

๐Ÿค– HOW? ํ‚คํ‚ค - ์ดํ™”์—ฌ์ž๋Œ€ํ•™๊ต ์บก์Šคํ†ค๋””์ž์ธ 23 ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published