캡스톤 디자인 · 57팀

일기로 예견하는
보석같은 만남

수업 시간표와 캠퍼스 동선 교집합으로
자연스러운 만남의 기회를 만들어드려요
🎓 대학생 전용 📍 동선 기반 🛡️ 5단계 안전
오늘의 예보
더보기 ›
이렇게 매칭이 진행돼요
매칭 완료 · 5단계 진행 중
취미 ✨
🕐
월요일에 새로운 만남
관심사 🕐
퀵매칭 · 즉시 만남
이상형 ✨
핵심 기능
🗺️
동선 기반 매칭
시간표와 캠퍼스 공간 데이터로 자연스레 마주칠 상대를 추천해요
🛡️
5단계 안전
서로 동의해야 다음 단계로 진행되는 점진적 시스템
🤖
AI 콘텐츠
Amazon Bedrock이 프로필 기반 퀴즈·미션·회고를 자동 생성
🌱
성장형 소셜
일기·플래너 작성과 상호작용으로 경험치를 쌓아요
5단계 상호작용
한 단계씩 조심스럽게 가까워져요
퀴즈
💬
채팅
🎮
게임
🗺️
미션
📖
회고
매 단계마다 양쪽이 동의해야 다음으로 진행돼요
거부하면 매칭이 안전하게 종료되고, 신고·차단도 언제든 가능해요
이용 방법
1
대학 이메일로 가입
학교 이메일 인증으로 재학생 확인 · 취미·관심사 프로필 설정
2
시간표 등록
에브리타임 시간표 공유 URL로 연동 · 매일 플래너로 더 정확한 동선 매칭
3
월요일 자정 매칭 성사
배치 매칭 시스템이 동선 겹치는 상대를 자동 매칭 (5일 주기)
4
5단계 상호작용 진행
퀴즈 → 채팅 → 게임 → 미션 → 회고 순으로 점진적 관계 형성
5
경험치로 레벨업
활동마다 경험치 축적 · 새로운 매칭 슬롯 해금
자주 묻는 질문
Q. 매칭은 언제, 어떻게 이루어지나요?
매주 월요일 자정에 배치 매칭이 실행돼요. 시간표에서 도출된 캠퍼스 동선이 겹치는 상대를 자동으로 연결해 드립니다.
Q. 어떤 학교 이메일로 가입할 수 있나요?
현재는 국민대학교 이메일(@kookmin.ac.kr)로만 가입이 가능해요. 추후 다른 대학으로 확장할 예정입니다.
Q. 상대방 정보는 언제 공개되나요?
처음엔 퀴즈만 교환해요. 채팅 → 게임 → 미션 → 회고 순으로 단계가 진행되면서 서로를 알아갈 수 있어요. 각 단계는 양쪽 모두 동의해야 진행됩니다.
Q. 매칭이 마음에 안 들면 어떻게 하나요?
언제든 다음 단계 진행을 거부할 수 있어요. 거부하면 매칭이 안전하게 종료되고, 상대방 차단도 가능합니다.
Q. 부적절한 행동을 신고하면 어떻게 되나요?
신고가 3회 누적되면 해당 계정이 자동으로 정지돼요. 안전한 캠퍼스 커뮤니티를 위해 엄격하게 운영합니다.
시연 영상
실제 서비스 동작을 확인해보세요
개발 성과
학부 수준을 넘어선 엔지니어링 도전들
🧪
속성 기반 테스트 (PBT) 45종 검증
jqwik을 활용해 매칭 주기 불변식, 신고 자동 정지, 채팅 토큰 한도 등 핵심 비즈니스 규칙 45개의 무결성을 수학적으로 증명했어요.
🗄️
DDD 기반 22개 테이블 설계
User · Matching · Interaction · Campus · AI 5개의 Bounded Context로 도메인을 분리하고, 단방향 의존성을 강제해 향후 서비스 분리가 가능한 구조를 유지했어요.
🤖
RAG 기반 오프라인 미션 추천
ChromaDB 벡터 검색과 동선 교집합 데이터를 결합한 RAG 파이프라인으로, 두 사람의 동선에 딱 맞는 캠퍼스 미션 장소를 AI가 추천해요.
🎮
20Hz 실시간 협동 게임
Phaser 3 기반 2인 협동 퍼즐을 WebSocket으로 연결하고, 낙관적 업데이트와 20Hz 위치 동기화로 끊김 없는 실시간 게임 경험을 구현했어요.
SQS 비동기 AI 퀴즈 사전 생성
회원가입 즉시 Amazon Bedrock이 프로필 기반 퀴즈 5문항을 생성하고, SQS 비동기 큐로 영속화해 매칭 후 즉시 퀴즈를 제공할 수 있어요.
핵심 지표
5단계
점진적 안전 시스템
45종
PBT 속성 무결성 검증
22개
DB 테이블 (DDD 설계)
100%
재학생 인증 매칭
앱 화면 미리보기
실제 앱 화면이에요
홈 화면
홈 화면
퀴즈 화면
1단계 · 퀴즈
AI 일기 화면
AI 일기 쓰기
기존 앱과의 차별점
일기예보만의 특별함
항목
일기예보
소개팅앱
에브리타임
재학생 인증
동선 기반 매칭
점진적 공개
AI 콘텐츠 생성
성장형 경험치
신고 · 차단
아키텍처
단일 Spring Boot · AWS 클라우드 네이티브
Client
React Native 모바일 앱
Backend · Spring Boot (AWS)
인증 · 사용자
매칭 엔진
상호작용
채팅 WebSocket
게임 WebSocket
경험치 · 알림
Data Layer
MySQL Aurora
Redis
ChromaDB
Amazon SQS
Amazon S3
↕ AWS SDK v2
AI
Amazon Bedrock (LLM)
Amazon Titan Embeddings
도메인 구조
5개 Bounded Context · 22개 테이블
👤 User 4개 테이블
인증·프로필·경험치·안전 관리. USER를 중심으로 BLOCK, REPORT, EXP_HISTORY가 분기됩니다.
USER · BLOCK · REPORT · EXP_HISTORY
🔗 Matching 3개 테이블
슬롯 관리와 매칭 생성. 매주 월요일 자정 배치로 SLOT에 MATCH를 배정하고, INTERACTION이 종속됩니다.
SLOT · MATCH · INTERACTION
💬 Interaction 9개 테이블
5단계 상호작용 전체를 담당. 퀴즈·힌트질문·채팅·게임·미션·회고 도메인이 FSM으로 연결됩니다.
QUIZ · QUIZ_ANSWER · HINT_QUESTION · CHAT_SESSION · CHAT_MESSAGE · GAME_SESSION · MISSION · REVIEW_SESSION · REVIEW
🏫 Campus 5개 테이블
캠퍼스 공간 데이터. 건물 용도·좌표·운영시간과 건물 간 도보 이동 시간을 저장해 AI 미션 추천의 기반이 됩니다.
CAMPUS_BUILDING · CAMPUS_BUILDING_PLACE · CAMPUS_VENUE · CAMPUS_PATH · CAMPUS_PATH_VENUE
🤖 AI 1개 테이블
Amazon Bedrock 연동. 회고 세션에서 AI가 생성한 질문을 저장하고, RAG 파이프라인으로 미션 장소를 추천합니다.
AI_REVIEW_QUESTION
기술 스택
Backend
Spring Boot 3 Spring Security Spring Data JPA WebSocket (STOMP) Spring Batch
AWS & Infra
Amazon Bedrock Amazon Titan Embeddings Amazon SQS Amazon S3 AWS SDK v2
Database
MySQL 8.0 Redis ChromaDB Flyway
Testing
JUnit 5 Mockito jqwik (PBT) Testcontainers
Client · Docs
React Native Phaser 3 Springdoc Swagger JWT
팀 소개
🌸
김아리
매칭 · 인증
이메일 인증 · JWT · 배치 매칭 스케줄러 · 슬롯 관리
선현승
실시간 상호작용
WebSocket 게임 · Redis 상태 동기화 · FSM 파이프라인
📔
정영미
일상 기록 · 퀴즈
플래너 · 일기 · 회고 · SQS 힌트 · 경험치 시스템
🤖
황찬우
AI · 공간 데이터
Bedrock LLM · RAG 미션 추천 · ChromaDB · 프롬프트 엔지니어링

국민대학교 2026 캡스톤 디자인 프로젝트 · 57팀