///
Search
Duplicate
🕌

발표 준비 관련

발표시간: 10분
발표: 최준영, 시연: 용소희

팀 및 프로젝트 소개

팀 명: 예진 왕국 예진 나라 예진 공주
프로젝트 명: 가치같이(Value-together)
프로젝트 소개: 가치 있는 서비스를 제공하는 프로젝트 협업 서비스 어플리케이션

프로젝트 컨벤션

Commit Convention
Git flow
Code Style: Spotless 적용
Code Convention

Use Case

Use Case

ERD

ERD

API 명세

와이어프레임

와이어프레임

역할 분담

Search
이름
역할
소셜로그인
카드
Infra
S3 config
RestDocs
체크리스트
할일
로컬로그인
로그아웃
인증/인가
작업자
카테고리
GlobalException

구현 기능

모든 팀이 트렐로를 할당 받았으므로 트렐로의 기능을 구현한 부분보다는 우리팀이 어떻게 코드를 통일하였으며, 소통을 하였는지 그리고 트렐로의 기능이 아닌 oauth2, redis, logout처리, mail -> ssl 문제 등 이런부분을 다루면 좋을 것 같습니다.

기술 스택

Backend
Java 17
Spring Boot 3.2.0
Spring Data JPA
OAuth 2
Spring Security 6.2.0
Mail
Database
MySQL 8.0.33
Redis 6.0.16
H2DB 2.1.214 (Test용)
Infra
AWS
EC2
S3
CloudFront
ACM
RDS
Route53
Docs
RestDocs
Jacoco

트러블 슈팅

1.
카테고리 및 카드의 순서 변경 방식
방식들
1.
컬럼 테이블의 필드로 json으로 카드 순서를 저장 ex) [1,2,3,4,5] -> [1,2,4,3,5]
2.
카드 테이블의 필드로 전, 후의 카드id를 저장 - 최대 4번 요청 연결 비용이 크므로, 2번이 더 비쌀 수 있음
3.
순서 테이블을 만들어서 이용 (1, 2번을 혼합)
4.
변경 전후의 seq 값을 더해서 2로 나눔
2.
mail
메일 전송 시, 사용자의 email을 노출시키는 것이 보안상 취약하다고 판단하여 링크에서 제외하는 방식을 고려하였으나, email을 제외하고 작성하니 하이퍼링크가 생성되지 않는 문제가 발생하였음.
알아보니, naver나 google과 같은 도메인마다 이를 링크로 인식하는 방식이 달라 하이퍼링크가 생성되지 않는 문제가 있다고 함.
a 태그로 직접 하이퍼링크를 만들어주는 것이 가장 좋은 방식이라고 생각하였음!
4.
Repository Test Id Auto increment 문제 - 해결을 한게 아님…
5.
cloudfront & route 53 연동하면서 발생한 문제

테스트