Giter Site home page Giter Site logo

9oormthon-univ / 2024_beotkkotthon_team_24_be Goto Github PK

View Code? Open in Web Editor NEW
2.0 0.0 2.0 322 KB

๐Ÿ”„ ์•„์›ƒํ’‹์„ ์œ„ํ•œ ์ธํ’‹ [REINPUT] ๋ฐฑ์—”๋“œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ

Java 99.89% Dockerfile 0.11%

2024_beotkkotthon_team_24_be's Introduction

header

๐ŸŒธ REINPUT ๐ŸŒธ

์•„์›ƒํ’‹์„ ์œ„ํ•œ ์ธํ’‹, ๋ฆฌ-์ธํ’‹

๐Ÿ† ํ•œ๊ตญ์Šค๋งˆํŠธ์ •๋ณด๊ต์œก์› 24๋…„ ์ƒ๋ฐ˜๊ธฐ SW๊ฐœ๋ฐœ๊ณต๋ชจ์ „ ์ตœ์šฐ์ˆ˜์ƒ

KakaoTalk_Photo_2024-03-24-00-21-56-1

๐ŸŒธ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

  • ํ”„๋กœ์ ํŠธ ๋ช… : REINPUT
  • ํ”„๋กœ์ ํŠธ ์„ค๋ช… : ํฉ์–ด์ ธ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋“ค์„ ๋ฆฌ์ธํ’‹์ด ์ œ๊ณตํ•˜๋Š” AI ์ธ์‚ฌ์ดํŠธ ์ž๋™ ๋ถ„๋ฅ˜๋กœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ๋ฆฌ๋งˆ์ธ๋“œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ƒ๊ธฐ์‹œ์ผœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ํ™œ์šฉํ•ด ๋ณด์„ธ์š”!

TechStack

Development Environment

java17 springboot mysql jpa gradle QueryDSL swagger jwt SpringSecurity

Infra

aws rds ec2 s3 route53 Nginx alb IAM

CI/CD

GithubActions Docker

๐ŸŒธ ๊ธฐ์ˆ  ์„ค๋ช…

๊ธฐ์ˆ  ์Šคํƒ

  • Spring Boot : Spring Boot๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ตฌ์ถ•
  • Spring Security : Spring Security๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ
  • JWT : JWT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ ๊ตฌํ˜„
  • QueryDSL : QueryDSL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ์ฟผ๋ฆฌ ์ž‘์„ฑ
  • Swagger : Swagger๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ API ๋ฌธ์„œํ™”
  • AWS : AWS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๋ฐฐํฌ
  • Docker : Docker ๋ฐ Docker Compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ๋ฐ ๋ฐฐํฌ, ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ
  • Github Actions : Github Actions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
  • Nginx : Nginx๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ๊ตฌ์ถ•
  • RDS : RDS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•
  • S3 : S3๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์  ํŒŒ์ผ ๊ด€๋ฆฌ
  • Route53 : Route53์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ ๊ด€๋ฆฌ
  • IAM : IAM์„ ์‚ฌ์šฉํ•˜์—ฌ AWS ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ ์ œ์–ด ๋ฐ ๋ณด์•ˆ ๊ด€๋ฆฌ
  • EC2 : EC2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  • ALB : ALB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฐ http ํ”„๋กœํ† ์ฝœ https ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๊ตฌํ˜„
  • Gradle : Gradle์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ ๊ด€๋ฆฌ
  • JPA : JPA๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ORM ๊ตฌํ˜„
  • MySQL : ์ฝ๊ธฐ ์ž‘์—…์ด ๋นˆ๋ฒˆํ•˜๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด ์„ ํƒํ•œ MySQL์„ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•
  • ๋ฌด์ค‘๋‹จ๋ฐฐํฌ : Docker, Docker-Compose, Nginx, EC2, Target-groups, Application Load Balancer, AWS Certificate Manager, Route53, Github Action, Github Action Self-Hosted Runner, Gabia ๋ฅผ ์‚ฌ์šฉํ•œ Blue-Green ํ”„๋ฆฌํ‹ฐ์–ด ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์„œ๋ฒ„ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๋ฐ https ์„œ๋น„์Šค ๋ฐฐํฌ

Reinput Service Architecture

image

๐ŸŒธ ํ˜‘์—…

  • Git Branch ์ „๋žต : GitHub Flow ์ „๋žต์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ
  • DDD : ๋„๋ฉ”์ธ ์ฃผ๋„ ๊ฐœ๋ฐœ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ
  • Notion : ํ”„๋กœ์ ํŠธ ์ผ์ • ๋ฐ ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•ด Notion ์‚ฌ์šฉ
  • Scrum : ๋งค์ผ ์ €๋… 10์‹œ์— ์Šคํฌ๋Ÿผ ์ง„ํ–‰

Git Branch ์ „๋žต

  • main : ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋งŒ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ธŒ๋žœ์น˜
  • feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜
  • fix: ๊ธฐ๋Šฅ ์ˆ˜์ • ๋ฐ ์—…๋ฐ์ดํŠธ ๋ธŒ๋žœ์น˜
  • test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ธŒ๋žœ์น˜

Scrum

  • ๋งค์ผ ์ €๋… 10์‹œ์— ์Šคํฌ๋Ÿผ ์ง„ํ–‰
  • ์Šคํฌ๋Ÿผ ๋‚ด์šฉ : ์™„๋ฃŒ ๋œ ์ผ, ์ง„ํ–‰ ํ•œ ์ผ, ๋‚จ์€ ์ผ, ์ด์Šˆ์‚ฌํ•ญ ๊ณต์œ 
  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜ : ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ๋ฆฌ๋ทฐ

Notion

  • ์ผ์ • ๊ด€๋ฆฌ : ์ผ์ • ๊ด€๋ฆฌ ๋ฐ ๋ฌธ์„œํ™”
  • ๋ฌธ์„œํ™” : ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๋ฌธ์„œํ™” ์š”๊ตฌ์‚ฌํ•ญ ๊ด€๋ฆฌ, API ๋ช…์„ธ์„œ, ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ, ERD ๋“ฑ

์ด์Šˆ ๊ด€๋ฆฌ

GitHub issues GitHub closed issues

  • ์ด์Šˆ ํ…œํ”Œ๋ฆฟ : ์ด์Šˆ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์Šˆ ์ž‘์„ฑ
  • ์ด์Šˆ ๋‹ด๋‹น์ž : ์ด์Šˆ ๋‹ด๋‹น์ž๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ด์Šˆ ๊ด€๋ฆฌ
  • ๋ฒ„๊ทธ ๊ณต์œ  : ๋ฒ„๊ทธ ๋ฐœ์ƒ ์‹œ ์ด์Šˆ๋ฅผ ํ†ตํ•ด ๊ณต์œ 
  • ์ง„ํ–‰ ์ƒํ™ฉ : ํ˜„์žฌ ์ง„ํ–‰์ƒํ™ฉ์„ ์ด์Šˆ๋ฅผ ํ†ตํ•ด ๊ณต์œ  ๋ฐ ๊ด€๋ฆฌ

PR ๊ด€๋ฆฌ

GitHub pull requests GitHub closed pull requests

  • PR Template : PR ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ PR ์ž‘์„ฑ

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ทœ์น™

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ : ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜์—ฌ ์ปค๋ฐ‹

  • feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • fix: ๋ฒ„๊ทธ ์ˆ˜์ •
  • docs: ๋ฌธ์„œ ์ˆ˜์ •
  • style: ์ฝ”๋“œ ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ
  • refactor: ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
  • test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ๋ฆฌํŒฉํ† ๋ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
  • chore: ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •
  • comment: ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
  • rename: ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ
  • remove: ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ

์ด์Šˆ & PR ํ…œํ”Œ๋ฆฟ

## 1. ๊ธฐ๋Šฅ ์„ค๋ช…

<br>

## 2. ์ƒ์„ธ ์„ค๋ช…

<br>

## 3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

๐ŸŒธ ๊ธฐํƒ€ ์‚ฌํ•ญ

Swagger API ๋ฌธ์„œ

ERD

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-03-24 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 5 03 30

ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-03-24 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 5 06 08

2024_beotkkotthon_team_24_be's People

Contributors

jhsysng avatar minhojjang avatar

Stargazers

 avatar  avatar

2024_beotkkotthon_team_24_be's Issues

[feat]: folder ๊ตฌํ˜„

1. ๊ธฐ๋Šฅ ์„ค๋ช…

folder api

  • ํด๋” ๋ฆฌ์ŠคํŠธ ๋ฐ˜ํ™˜
  • ํด๋” ์ƒ์„ฑ
  • ํด๋” ์ˆ˜์ •
  • ํด๋” ์‚ญ์ œ

2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[feat]: healthcheck api

1. ๊ธฐ๋Šฅ ์„ค๋ช…


2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[bug]: @AuthenticationPrincipa parameter error

1. ๋ฌธ์ œ ์ •์˜

final @AuthenticationPrincipal Long userId

๋กœ userId๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค


2. ์›์ธ ํŒŒ์•…


3. ํ•ด๊ฒฐ

๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด, user์ •๋ณด๊ฐ€ ํ•„์š”ํ•œ API์— ๋Œ€ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

final @AuthenticationPrincipal PrincipalDetails principalDetails

[feat]: github actions CI/CD

1. ๊ธฐ๋Šฅ ์„ค๋ช…

github action, docker, nginx, ec2๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[feat]: swagger ๊ธฐ๋ณธ ์„ค์ •

1. ๊ธฐ๋Šฅ ์„ค๋ช…

swagger ๊ธฐ๋ณธ ์„ธํŒ…์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[feat]: reminder ๊ตฌํ˜„

1. ๊ธฐ๋Šฅ ์„ค๋ช…

  • ์˜ค๋Š˜์˜ ์งˆ๋ฌธ ๊ตฌํ˜„
  • ๋ฆฌ๋งˆ์ธ๋“œ ์บ˜๋ฆฐ๋” ๊ตฌํ˜„

2. ์ƒ์„ธ ์„ค๋ช…

์˜ค๋Š˜์˜ ์งˆ๋ฌธ

1-1: ์ €์žฅํ•œ ์ธ์‚ฌ์ดํŠธ๊ฐ€ 0๊ฐœ ์ผ ๋•Œ

  • ์•ˆ๋‚ด ๋ฌธ๊ตฌ: โ€œ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ €์žฅํ•˜๋ฉด ๋งค์ผ ๋ฆฌ๋งˆ์ธ๋“œ ์งˆ๋ฌธ์„ ๋“œ๋ ค์š”!โ€
  • ์ €์žฅํ•˜๋Ÿฌ ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ๋…ธ์ถœ
    1-2: ์ €์žฅํ•œ ์ธ์‚ฌ์ดํŠธ๊ฐ€ 1๊ฐœ ์ด์ƒ์ผ ๋•Œ
  • ์•ˆ๋‚ด ๋ฌธ๊ตฌ: โ€œ๋‹ค์Œ ์งˆ๋ฌธ์— ๋‹ตํ•˜์—ฌ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋ฆฌ๋งˆ์ธ๋“œ ํ•ด๋ณด์„ธ์š”!โ€
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์ฝ์€ ์ง€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋…ธ์ถœ
  • ํ•˜๋ฃจ ์ตœ๋Œ€ 5๊ฐœ์˜ ๋ฆฌ๋งˆ์ธ๋“œ ์งˆ๋ฌธ ๋…ธ์ถœ
    1-3: ๋ชจ๋“  ์งˆ๋ฌธ์— ๋‹ต ํ–ˆ์„ ๋•Œ
  • ์•ˆ๋‚ด ๋ฌธ๊ตฌ: OO๋‹˜, ์˜ค๋Š˜ ๋ชจ๋“  ์งˆ๋ฌธ์— ๋‹ตํ•˜์…จ์–ด์š”!
  • ์ž‘์„ฑํ•œ ๋‹ต๋ณ€ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ

๋ฆฌ๋งˆ์ธ๋“œ ์บ˜๋ฆฐ๋”

  1. ๋ฆฌ๋งˆ์ธ๋“œ ์ธ์‚ฌ์ดํŠธ
    1.1. ๋ง๊ฐ๊ณก์„ ์ฃผ๊ธฐ
  1. 1์ผ ํ›„ ๋…ธ์ถœ
  2. 1์ฃผ์ผ ํ›„ ๋…ธ์ถœ
  3. 1๊ฐœ์›” ํ›„ ๋…ธ์ถœ
    โ‡’ 1-1, 1-2, 1-3์— ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์ธ ์•ˆํ•œ ๊ฒฝ์šฐ ๋ฆฌ๋งˆ์ธ๋“œ ๋‹ค์‹œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์•Œ๋ฆผ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Œ
    โ‡’ ์ถ”ํ›„ ๋ง๊ฐ๊ณก์„ ์ฃผ๊ธฐ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ฑฐ๋‚˜, ์ด ์ฃผ๊ธฐ๋กœ ๊ธฐ์–ต์„ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ ๋Š˜๋ ค์ฃผ๋Š” ์‹์œผ๋กœ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Œ.

1.2. ์‚ฌ์šฉ์ž ์ง€์ • ์ผ

  1. ๋งค ์ฃผ n์š”์ผ์— ๋…ธ์ถœ
  2. ๋งค ์›” n์ผ์— ๋…ธ์ถœ
  1. ์ถ”์ฒœ ์ธ์‚ฌ์ดํŠธ
  • ๋งค์ผ 3๊ฐœ์”ฉ ์ถ”์ฒœ
  • ์ถ”์ฒœ ์ธ์‚ฌ์ดํŠธ๋Š” ๋‹น์ผ์—๋งŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
  1. ์ธ์‚ฌ์ดํŠธ ์ €์žฅ ์ „:
  • ์„œ๋น„์Šค ์ดˆ๊ธฐ: ๊ด€๋ฆฌ์ž๊ฐ€ ์ •๋ฆฌํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ง๋ฌด ๋ณ„๋กœ ์ž„์˜๋กœ ๋…ธ์ถœ(๋งํฌ ๋ชจ์•„์„œ ์ „๋‹ฌ ์˜ˆ์ •)
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์ง€๋ฉด: ๋‚˜์™€ ๊ฐ™์€ ์ง๋ฌด์˜ ์‚ฌ์šฉ์ž๋“ค์ด ์˜ฌ๋ฆฐ ์ธ์‚ฌ์ดํŠธ(๋งํฌ๋งŒ)์™€ ์ฝ˜ํ…์ธ  ๊ด‘๊ณ  ๋…ธ์ถœ
  1. ์ธ์‚ฌ์ดํŠธ ์ €์žฅ ํ›„:
  • ์„œ๋น„์Šค ์ดˆ๊ธฐ: 1๋ฒˆ๊ณผ ๊ฐ™์ด ๊ด€๋ฆฌ์ž๊ฐ€ ์ •๋ฆฌํ•œ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ง๋ฌด ๋ณ„๋กœ ์ž„์˜๋กœ ๋…ธ์ถœ์‹œํ‚ค๊ณ 
  • ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์ง€๋ฉด: ๋‚ด๊ฐ€ ์ €์žฅํ•œ ํƒœ๊ทธ ๊ด€๋ จํ•ด์„œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์ด ์˜ฌ๋ฆฐ ์ธ์‚ฌ์ดํŠธ(๋งํฌ๋งŒ)์™€ ์ฝ˜ํ…์ธ  ๊ด‘๊ณ  ๋…ธ์ถœ

3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[refactor]: ๋กœ๊ทธ์ธ ์‹œ ์œ ์ € ์ด๋ฆ„๋„ ๋ฆฌํ„ดํ•˜๋„๋ก api ๋ณ€๊ฒฝ

1. refactoring ์‚ฌํ•ญ

"00๋‹˜..." ์„ ํ”„๋ก ํŠธ์—์„œ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ ์ €์˜ ์ด๋ฆ„์ด ๋“ค์–ด๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
image


2. refactoring ๋‚ด์šฉ

๋ฉ”์ธํŽ˜์ด์ง€ ํ˜ธ์ถœ ์‹œ ๋ฐ˜ํ™˜๊ฐ’์— ์œ ์ € ์ด๋ฆ„์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

3. ์ถ”๊ฐ€์‚ฌํ•ญ

[feat]: insight ์ˆ˜์ •

1. ๊ธฐ๋Šฅ ์„ค๋ช…

์ธ์‚ฌ์ดํŠธ ์ˆ˜์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.


2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

image only

1. ๊ธฐ๋Šฅ ์„ค๋ช…


2. ์ƒ์„ธ ์„ค๋ช…


แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-03-24 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 5 03 30

3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

Uploading image.pngโ€ฆ
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-03-24 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 5 06 08

[feat]: ์ธ์‚ฌ์ดํŠธ ์ €์žฅ service ๋กœ์ง ๊ธฐ๋Šฅ์ถ”๊ฐ€

1. ๊ธฐ๋Šฅ ์„ค๋ช…

image

์ธ์‚ฌ์ดํŠธ ์ €์žฅ ๋กœ์ง ์™„๋ฃŒ ์‹œ, ์ ์ ˆํ•œ ๋ฐ˜ํ™˜๊ฐ’์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด ๋ฐ˜ํ™˜๊ฐ’์„ ์ œ๊ณตํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

24.03.23 ์ถ”๊ฐ€ ->
ํ•ด๋‹น ์œ ์ €์˜ ์ง๋ฌด๋ฅผ ํŒŒ์•…
ํ•ด๋‹น ์ง๋ฌด์™€ ๊ด€๋ จ๋œ ๋”๋ฏธ๋ฐ์ดํ„ฐ ๋žœ๋ค ๋ฐ˜ํ™˜


2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[refactor]: folder exception ๋ฐ ์ตœ์ ํ™” ์ง„ํ–‰

1. refactoring ์‚ฌํ•ญ


- ์ฟผ๋ฆฌdsl ์ฟผ๋ฆฌ ์ตœ์ ํ™” - valid๊ฐ•ํ™” - ์—๋Ÿฌ ํ•ธ๋“ค๋ง

2. refactoring ๋‚ด์šฉ


-N+1 ํ•ด๊ฒฐ -validation controller advice์ ์šฉ -custom error handling ๋ฐ ์—๋Ÿฌ ๋ฐ˜ํ™˜

3. ์ถ”๊ฐ€์‚ฌํ•ญ

[fix]: ์ธ์‚ฌ์ดํŠธ ์ €์žฅ ๋กœ์ง ๋ณ€๊ฒฝ

1. ๋ฌธ์ œ ์ •์˜

๊ธฐ์กด ํด๋” ์ด๋ฆ„๋งŒ์„ ๊ฐ€์ง€๊ณ  ํด๋”์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ์œ ์ € ID์™€ ๊ฐ™์ด ํ‚ค๊ฐ’์œผ๋กœ ์„ค์ •ํ•ด ๊ฐ€์ ธ์˜ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

2. ์›์ธ ํŒŒ์•…


3. ํ•ด๊ฒฐ

[feat]: insight delete

1. ๊ธฐ๋Šฅ ์„ค๋ช…


2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[refactor]: ์ถ”ํ›„ ๋ฆฌํŒฉํ† ๋ง ์‚ฌํ•ญ

1. refactoring ์‚ฌํ•ญ

  • ํด๋” ๊ณต์œ , uuid ์ธ์ฆ ํฌํ•จ
  • ์ธ์‚ฌ์ดํŠธ ์ „์ฒด ์ฐพ๊ธฐ ์ธ์‚ฌ์ดํŠธ ๋„๋ฉ”์ธ ์ด๋™
  • querydsl ์ตœ์ ํ™”

2. refactoring ๋‚ด์šฉ

  • uuidํฌํ•จํ›„ , ์บ์‹œ(redis๋“ฑ)์— ์ ์šฉํ•˜์—ฌ ๊ณต์œ ๋œ ํด๋”์ธ์ง€ ํ™•์ธ
  • ์ธ์‚ฌ์ดํŠธ ์ „์ฒด ์ฐพ๊ธฐ ํด๋”์— ์žˆ๋Š” ๊ธฐ๋Šฅ ์ธ์‚ฌ์ดํŠธ ๋„๋ฉ”์ธ์œผ๋กœ ์ด์ „
  • ๋ณต์žกํ•œ ์ฟผ๋ฆฌ, ์„œ๋ธŒ์ฟผ๋ฆฌ, ์ฝ”๋“œ ์ปจ๋ฒค์…˜๋“ฑ ๋ฆฌํŒฉํ† ๋ง ์ˆ˜ํ–‰

3. ์ถ”๊ฐ€์‚ฌํ•ญ

  • error ํ•ธ๋“ค๋ง ์ถ”๊ฐ€

[feat]: ์ด๋ฏธ์ง€ ํŒŒ์ผ s3 ์ €์žฅ

1. ๊ธฐ๋Šฅ ์„ค๋ช…

ํด๋ผ์ด์–ธํŠธ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ๋งˆ๋‹ค ํ•ด๋‹น api๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
์ด api๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด, aws s3์— ์ด๋ฏธ์ง€ ์›๋ณธ์ด ์ €์žฅ๋˜๊ณ  ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ ํ•ด๋‹น s3 ์ด๋ฏธ์ง€ ๋งํฌ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

MySQL RDS์—๋Š” ์ด๋ฏธ์ง€ ๋งํฌ๋งŒ ์ €์žฅ๋˜๊ณ , ์ด๋ฏธ์ง€ ์›๋ณธ์€ aws S3 Standard ๋ฒ„ํ‚ท์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

image


2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

https://chb2005.tistory.com/200

[fix]: ๊ณต์œ  ๋งํฌ public ์ ‘๊ทผ ํ—ˆ์šฉ

1. ๋ฌธ์ œ ์ •์˜

image

๊ณต์œ  ๋งํฌ๋Š” publicํ•˜๊ฒŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
SpringSecurity๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋ˆ„๊ตฌ๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.


2. ์›์ธ ํŒŒ์•…


3. ํ•ด๊ฒฐ

[feat]: Insight ์ €์žฅ, ์ƒ์„ธ๋ณด๊ธฐ

1. ๊ธฐ๋Šฅ ์„ค๋ช…

Insight ๊ด€๋ จ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ์‚ฌ์ดํŠธ ์ €์žฅ
  • ์ธ์‚ฌ์ดํŠธ ์ƒ์„ธ๋ณด๊ธฐ

2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[feat]: ๋งํฌ og:image ์ œ๊ณต

1. ๊ธฐ๋Šฅ ์„ค๋ช…

๋งํฌ๋ฅผ ๋ฐ›๊ณ  og:image๋ฅผ ๋ฆฌํ„ดํ•ฉ๋‹ˆ๋‹ค.
์—†์„ ๊ฒฝ์šฐ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2. ์ƒ์„ธ ์„ค๋ช…


3. ์ถ”๊ฐ€ ์‚ฌํ•ญ

[bug]: insight - reminder ๋ฌดํ•œ ์žฌ๊ท€ ํ˜ธ์ถœ ๋ฐฉ์ง€

1. ๋ฌธ์ œ ์ •์˜

ํ˜„์žฌ ์ธ์‚ฌ์ดํŠธ ์ƒ์„ธ๋ณด๊ธฐ API ํ˜ธ์ถœ ์‹œ, insight ๊ฐ์ฒด ์•ˆ์— reminder์ด ์žˆ๊ณ , reminder ๊ฐ์ฒด ์•ˆ์— insight๊ฐ€ ์žˆ์–ด ์„œ๋กœ ๋ฌดํ•œํ•˜๊ฒŒ ์žฌ๊ท€ํ˜ธ์ถœ์„ ํ•ด API ๋ฐ˜ํ™˜ ์‹œ ์ค‘์ฒฉ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


2. ์›์ธ ํŒŒ์•…

๊ฐ ๊ฐ์ฒด์—์„œ ์„œ๋กœ ๋ถˆ๋Ÿฌ์˜ค์ง€ ์•Š๋„๋ก DO๋ฅผ ๋‹ค์‹œ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.


3. ํ•ด๊ฒฐ

[fix]: secret key management

1. ๋ฌธ์ œ ์ •์˜

AESUtil Class์˜ KEY ๋ฐ INIT_VECTOR ๊ฐ’์„ ํ•˜๋“œ์ฝ”๋”ฉ ํ•˜์ง€ ๋ง๊ณ , github secret์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๊ธฐํƒ€ ๋ณด์•ˆ์ด ํ•„์š”ํ•œ ํ‚ค๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


2. ์›์ธ ํŒŒ์•…


3. ํ•ด๊ฒฐ

์ตœํ›„์ˆœ์œ„๋กœ ํ•ด๊ฒฐํ•˜๋Š” ์ด์Šˆ์ž…๋‹ˆ๋‹ค.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.