- BACKEND TEAMS
- ROLE
- DEPLOY URL
- SPECIFICATION
- INTRODUCTION
- SKILLS
- SYSTEM ARCHITECTURE
- ERD
- SERVICE LAYOUT
- FUNCTION
김건우 | 이선주 | 김예림 |
- 팀장, 백엔드 리더
- 서버 CI/CD 구축 및 인프라 총괄
- ERD 및 시스템 아키텍쳐 설계
- Nag & Category(잔소리) API 구축
- Action(대응) API 구축
- Favorite(좋아요) API 구축
- Follow(팔로우) API 구축
- Receipt(영수증) API 구축
- Batch Job(스프링 배치 스케쥴링) 구축
- ERD 및 시스템 아키텍쳐 설계
- 초기 개발 환경 구축
- Member(회원) API 구축
- JWT, Oauth2.0, Spring Security, 카카오 소셜 로그인
- Feed(피드) API 구축
- 마이 페이지 무한 스크롤 기능
- Main(로그인 후 첫 화면) API 구축
- Receipt(영수증) API 구축
- 기획 및 캐릭터 디자인 & 피그마
- PPT 기획 및 제작
- 광고 및 마케팅 & 촬영
- ✅ front-server : https://jansorry.com
- ✅ back-server : https://jansorry.store
- ✅ back-swagger : https://jansorry.store/swagger-ui/index.html
- 명절 잔소리 영수증 서비스
- 잔소리를 학업·진로, 건강·외모, 연애·결혼, 취업·직장, 가족·자녀, 기타 별로 카테고리를 나눠, 사용자가 해당 잔소리를 쉽게 찾을 수 있다.
- 잔소리에 대한 사용자의 경험 기반 대응을 등록할 수 있다.
- 실시간, 나이대별, 팔로잉, 트렌드 피드를 제공하고, 해당 피드에 좋아요 및 팔로우를 등록할 수 있다.
- 사용자가 들은 잔소리를 기반으로 영수증을 생성하고, 오픈 그래프를 활용하여 어른용, 친구용 영수증을 공유할 수 있다.
- 카카오 소셜 로그인
- 나이대/성별/전체를 기준으로 잔소리 통계
- 관리 페이지
- Java 17
- SpringBoot 3.2.1
- Spring Data JPA
- Spring Security
- Spring Batch
- QueryDSL
- JWT
- Oauth 2.0
- MySQL 8.0.35
- Redis 7.2
- AWS EC2
- gitlab-runner
- Docker, Docker Hub, Portainer
- Nginx Proxy Manager
Main Page | My Card | Category |
Feed | My Page | Receipt |
💡 회원은 Spring Security & JWT & Oauth2.0 사용하여 카카오 소셜 로그인 구현
- 회원 가입
- 로그인, 로그아웃
- 마이페이지
- 닉네임 수정
- 회원 탈퇴 (soft deletion)
- 팔로잉, 팔로워 목록
💡 학업·진로, 건강·외모, 연애·결혼, 취업·직장, 가족·자녀, 기타 총 6개의 카테고리로 잔소리 분류
- 잔소리 카드 상세 조회
- 잔소리 카드 전체 조회 (카테고리별로 잔소리와 가격 제공)
💡 사용자가 받은 잔소리 경험에 대한 대응 생성
- 대응 생성
- 대응 상세 조회 (해당 사용자가 작성한 대응을 상세 조회)
- 대응 전체 조회 (해당 사용자가 작성한 대응 목록들을 전체 조회, 무한스크롤)
- 대응 삭제 (soft deletion)
💡 실시간, 나이대, 팔로잉, 트렌드 별 잔소리-대응 피드 무한스크롤로 제공, 동시성을 고려하여 팔로우 및 좋아요 3초 디바운싱 적용
- 실시간 피드 조회
- 팔로잉 피드 조회
- 나이대 별 피드 조회 (10/20/30대 별로 피드 조회)
- 트랜드 피드 조회 (좋아요 순으로 30개의 피드를 뽑은 다음, 랜덤으로 10개 피드 제공)
💡 영수증은 3개까지만 저장 가능 (어른용, 친구용 글자 크기 상이)
- 영수증 저장 (3개까지만 저장 가능)
- 영수증 상세조회 (3개중 n번째의 영수증 조회)
- 영수증 삭제 (soft deletion)
- 영수증 개수 확인
💡 Redis에 좋아요 정보 저장 후, Spring Batch를 통해 MySQL에 반영
- 좋아요 등록
- 좋아요 취소
💡 Redis에 팔로우 정보 저장 후, Spring Batch를 통해 MySQL에 반영
- 회원 검색 (닉네임 기반 회원 조회)
- 팔로잉 등록
- 팔로잉 취소
- 팔로잉 전체 조회
- 팔로워 전체 조회
- 좋아요 및 팔로우 데이터는 기본적으로 Redis에 적재된다.
- 서버는 기본적으로 항상 MySQL이 아닌 Redis의 데이터를 클라이언트에 전달한다.
- 매일 새벽 3시에 update된 Redis 데이터를 MySQL로 동기화하는 작업을 진행한다.
- Spring Batch + Scheduler
- 명절이 끝난 2024년 2/13 새벽 3시 batch 이후, 최종 데이터 통계 batch job을 진행한다.
- 최종 데이터는 44가지의 다양한 통계로 나뉘어 MySQL에 적재된다.
- 이 batch 작업이 끝나면 더 이상의 batch 작업은 진행되지 않는다.
- 최종 데이터는 통계 페이지 자료로 활용된다.