서비스 소개
기념일을 중심으로 사람들이 모이고 소통하는 소셜 커뮤니티 플랫폼입니다. 커플·가족 기념일 관리, 커뮤니티 게시판, 이벤트 참여, 포인트 적립·교환 등을 제공하며, 15개월간 단독으로 전체 백엔드 아키텍처를 설계·구축했습니다.
주요 기능
- 인증 및 사용자 — OAuth2 소셜 로그인(Kakao·Naver·Apple), 본인인증(아임포트·토스), 프로필·친구·차단 관리
- 기념일 — 개인·공유 기념일 등록, 디데이 알림, 기념일 템플릿
- 커뮤니티 — 게시글·댓글·좋아요, 이미지·영상 첨부, 해시태그, 신고·검수 시스템
- 이벤트 — 출석체크·미션·퀴즈·응모 이벤트, 당첨자 추첨 자동화
- 포인트 — 적립·사용·교환·소멸 정책, 히스토리 추적, CronJob 기반 자동 소멸
- 알림 — Firebase Push, 카테고리별 알림 설정(좋아요·댓글·이벤트 등)
- 관리자 — Django Admin 커스터마이징, 게시물 검수, 이벤트·포인트 관리, 행동 로그
핵심 개발 내용
- PostgreSQL Master-Slave 구조 — 읽기/쓰기 분리로 조회 성능 향상 및 DB 부하 분산
- 다중 인증 시스템 통합 — Kakao·Naver·Apple OAuth2 소셜 로그인, 아임포트·토스 본인인증 연동, JWT 토큰 관리
- 포인트 자동화 시스템 — 적립·교환·소멸 정책, Cron 기반 스케줄링, 히스토리 추적
- 이벤트 엔진 — 출석체크·미션·퀴즈·응모 타입별 로직, 중복 참여 방지, 당첨자 추첨 자동화
- Firebase Push 알림 — 카테고리별 알림 세분화, 사용자 설정 기반 필터링, 대량 발송
- 커뮤니티 검수 시스템 — 신고 누적 시 자동 블라인드, 검수 인터페이스, 히스토리 추적
- S3 미디어 처리 — Presigned URL 기반 직접 업로드
- 개인정보 보호 — 민감 정보 마스킹, 관리자 행동 로그, 탈퇴 시 데이터 익명화
기술적 도전과 해결
- Master-Slave DB 성능 최적화 — 읽기/쓰기 트랜잭션 자동 분리, Slave 장애 시 Master Failover 처리로 가용성 확보
- 포인트 정합성 보장 — 동시 요청 시 중복 차감 방지, 데이터베이스 트랜잭션 및 락 활용, 금융 데이터 정확성 보장
- 이벤트 중복 참여 방지 — 동시 요청 시에도 1회만 참여 보장, 유니크 제약 조건 및 트랜잭션 활용
- 대량 푸시 알림 처리 — Firebase FCM 배치 전송, Celery 비동기 처리로 수천 건 발송
- 다중 인증 시스템 통합 — Kakao·Naver·Apple OAuth2 플로우 차이 처리, 본인인증 연동, 통합 계정 관리
- 15개월 단독 개발 — 요구사항 분석부터 설계, 개발, 배포, 운영까지 전 과정 단독 수행