Backend Developer
서비스 주요 기능
•
위치 기반 식당 검색 기능
•
사용자가 직접 식당 정보 등록
•
키즈 관련 편의 서비스들로 검색 가능
기술 스택
•
Language - Java
•
Framework - SpringBoot, Spring Security
•
DB - MySQL 8.0, Redis, Spring Data JPA, QueryDSL
•
DevOps : AWS EC2, RDS, S3, ElasticCache, Nginx
•
CI/CD : Github Actions, Code Deploy
•
Document : Swagger
•
Tools : Github, Git Kraken
핵심 고려 사항
Hexagonal Architecture & Domain Driven Design 패턴 도입
•
Presentation, Infrastructure, domain, application 총 4개의 패키지를 애그리거트 별로 도입, 한 눈에 파악하기 쉬운 구조 설계.
•
DDD의 애그리거트 구현을 적용, Root Entity 이외의 Repository를 최소화함으로써 애그리거트 내의 응집성을 확대.
•
계층 별 DTO를 엄격하게 나눠서 계층 간 의존성을 최소화.
페이징 처리에 No-Offset 기반 무한 스크롤 기능 적용
•
클러스터링 인덱스를 사용한 No-Offset 페이징 기능을 사용함으로써 대규모 데이터에서 기존 offset 방식 페이징 대비 큰 성능 최적화.
•
무한 스크롤 기능을 구현함으로써 모바일 환경의 페이징에 최적화.
Spring Security & OAuth2 기반 로그인 기능 구현
•
네이버, 카카오, 구글 소셜 로그인 구현을 통해 간편한 로그인 기능 제공
•
Access Token과 Refresh Token을 사용한 JWT 방식 인증 구현
•
Redis를 사용한 Access Token 블랙리스트 처리를 통해 확실한 로그아웃 구현
아키텍처
구현 기능
•
로그인
•
로그인 상세 화면
•
닉네임 설정
•
메인 페이지
•
조건 필터링
•
마이페이지
•
검색페이지
•
좋아요 누른 식당