📑 프로젝트 소개
🌊 Surf
- 11 ~ 2022. 05
개발 인원
깃허브 링크
프로젝트 개요
얼마나 성장했는지 기록하고 성장곡선으로 보여주는 서비스
- 개인적인 성장을 기록하고, 서로 공유하기가 어렵다는 문제점에서 시작된 프로젝트입니다.
- 개인 기록 및 SNS 기능을 제공합니다.
- 노력한 기록을 한눈에 돌아볼 수 있게 성장곡선으로
시각화해서 제공합니다.
백엔드 기술 스택
- Language : Java 17
- Framework : Spring (Spring Boot 2.6.1, Spring Data JPA)
- Database : MySQL, H2, Flyway
- Infrastructure : AWS (EC2, S3), Nginx
- CI/CD : Github Actions, Jenkins
- ETC : Gradle, Codacy, Jacoco
🙋♂️ 역할
기술적 역할
- 조회 성능 문제를 해결하기 위해 인덱스 적용
- 코드 개선과 검증을 위한 리팩토링 및 단위 테스트
- JPA batch-fetch-size 설정으로 JPA N+1 문제 해결
- CI/CD 구축을 위해 Github Actions, Jenkins 활용
- 안전한 HTTP 통신을 위해 HTTPS 적용
- 무한스크롤 페이징을 위해 커서 기반 페이지네이션 적용
비기술적 역할
- API 문서화 및 관리
- Github Wiki 페이지 관리
⚙ Infrastructure
- WAS 한 대, DB 한 대로 구성했습니다.
- Amazon S3로 파일을 업로드하고 보관합니다.
ERD 설계
HTTPS 설정
- Reverse Proxy는 Nginx로 구성했습니다.
- CertBot 으로 Let’s Encrypt SSL 인증서를 발급받았습니다.