연인과 함께 22일간의 최소 목표 기간을 기반으로 새로운 습관 형성을 돕는 챌린지·기록 앱
Mash-Up 13기 | 2023.03 — 진행중
Project Overview
Twotoo는 연인이 서로의 습관 형성을 독려하고 기록하는 서비스입니다. 22일이라는 최소 목표 기간을 설정하여 작은 습관부터 차근차근 만들어갈 수 있도록 돕습니다. 챌린지 생성, 인증샷 기록, 서로 찌르기(알림) 등의 기능을 제공합니다.
Architecture
Twotoo의 서버 아키텍처입니다. 서비스의 지속 가능성과 유지보수 효율을 높이기 위한 구조로 설계되었습니다.
Key Technical Points
-
아키텍처 마이그레이션 (NestJS → Express)
초기 NestJS/Docker/ECR 기반 구조에서 서비스 규모와 팀의 운영 편의성을 고려하여 Express/TypeScript/PM2 구조로 마이그레이션을 진행했습니다. 이를 통해 빌드 및 배포 속도를 개선하고, 장기적인 유지보수 효율을 확보했습니다.
-
서버리스 알림 시스템 (AWS Lambda & EventBridge)
사용자의 챌린지 참여를 독려하는 정기 알림 기능을 AWS Lambda와 EventBridge를 활용한 서버리스 구조로 분리했습니다. 메인 서버의 부하를 줄이고 독립적인 스케줄링 관리가 가능하도록 구축했습니다.
-
데이터 가시성 확보 및 성과 (MongoDB Atlas Charts)
MongoDB Atlas Charts를 활용하여 실시간 유저 활동 및 챌린지 현황 대시보드를 구축했습니다. 이를 통해 가입 유저 5,000명 돌파, 인증 수 40,000건 이상 등의 주요 지표를 실시간으로 모니터링하며 서비스 성장을 추적했습니다. 개발자뿐만 아니라 기획, 디자인 파트에서도 서비스 지표를 쉽게 확인하고 의사결정에 활용할 수 있는 환경을 제공했습니다.
-
로그 관리 자동화
PM2-Logrotate와 Cron Job을 활용하여 로컬 로그 파일의 생명주기를 관리하고, 중요한 로그는 S3에 백업하는 프로세스를 자동화하여 안정적인 운영 환경을 구축했습니다.