Your Connection
프로젝트는 RESTful 원칙에 기반하여 설계되었고,
사용자 간의 상호작용을 최적화하기 위한 다양한 SNS 기능을 구현하고 있습니다.
2023.08.23 ~ 2023.10.06
- Java 17
- Spring boot 2.7
- MySQL 8
- Spring Data JPA
- Spring Security
- Redis
- AWS S3
[성능 향상 및 서비스 안정성]
- 로그인 실패 횟수 트래킹시 조건부 카운트에 대한 동시성 이슈를
Redis, Lua script를 활용하여 해결 - 무분별한 api 호출을 방지하기 위해 1시간 안에 10번 이상의 rate limit 발생 시
지정된 메신저로 알림 발송하는 시스템 구축 - 조회 작업시 N+1 문제로 인한 성능 저하를 Fetch join, Batch size등 상황에 적절한 방식으로 해결
[사용자 경험 향상]
- 코드의 복잡성이 증가하는 다중 파일 업로드 기능을 전략 패턴을 활용해, 최소한의 비용으로 구현
- 관리자를 통한 신고 조치 서비스를 제공하여 컨텐츠 및 서비스 품질 높이기
[보안 및 인증]
- 로그인 실패 횟수 트래킹 및 일정 횟수 초과시 추가 인증 요구
- 이메일 인증 및 OAuth2를 활용한 로그인 인증 서비스 구현
[데이터 관리]
- User 변경 사항 관리 및 추적을 통한 유저 정보 데이터 관리
[SNS 기능]
- 게시물, 댓글, 좋아요,팔로우등 SNS 서비스 기능 구현
- 컨텐츠 번역 기능 구현
-
현재 프로젝트 규모를 고려하여 상대적으로 가벼운 GitHub-flow 정책을 도입하였습니다.
-
요구사항에 대한 깃 이슈 번호를 할당받고 그에 맞는 feature 브랜치를 생성합니다.
-
GitHub에서 제공하는 칸반보드와 UI 도구인 Git Kraken으로 깃 이슈번호와 브랜치를 관리해 주었습니다.