나와 딱! 맞는 야구 직관 메이트와 연결되는 공간
| 👑 양다진 @YangDaJin0104 |
송혜음 @hyeeum |
|---|---|
![]() |
![]() |
Mateball 서비스는 AWS EC2 기반으로 구성되며, 모든 서버 구성 요소는 Docker와 Docker Compose로 컨테이너화 되어 있습니다.
각 컨테이너는 독립적으로 실행되며, API 서버(Spring Boot), Redis, Nginx, Certbot, Python 크롤러 등으로 구성되어 모듈화와 책임 분리 원칙을 따릅니다.
📌 기술 스택 상세 보기
- 유저 기반의 매칭 시스템을 중심으로 설계
- 그룹, 경기 정보, 매칭 조건 등을 별도 도메인으로 분리
- 데이터 중복 최소화 및 관계 명확화
- 1NF ~ 3NF 정규화를 통해 데이터 무결성과 확장성 확보
- 카카오 소셜 로그인
- 생년/성별 수집 → 매칭 조건 자동화 및 신뢰성 확보
- 닉네임: 2~6자, 공백/특수문자/이모지 불가, 한글 또는 영어만 가능
- 예외 시 사용자에게 명확한 메시지 제공
- 조건 항목:
- 응원팀, 응원팀 일치 여부
- 관람 스타일
- 성별 선호
- 매칭 유형(1:1 / 그룹)
- 그룹장/그룹원 선택 & 날짜 지정
| 매칭 유형 | 생성 수 제한 |
|---|---|
| 1:1 매칭 | 최대 3개 |
| 그룹 매칭 | 최대 2개 |
- 그룹 상태: 대기 중 / 완료 / 실패
- 그룹원 상태: 요청 대기 / 승인 대기 / 승인 완료 / 실패
- 유저 간 나이 차이 5세 이하
| 항목 | 가중치 | 기준 |
|---|---|---|
| 응원팀 | 40점 | 설정 조건 일치 여부 |
| 성별 | 35점 | 성별 조건 일치 여부 |
| 관람 스타일 | 25점 | 완전/유사 일치 여부 |
- 다른 사용자가 생성한 매칭에 요청 가능
- 존재하지 않는 매칭 ID
- 매칭 완료된 그룹
- 매칭 생성 수 초과
- 중복 요청 / 중복 날짜 / 지난 날짜
- 경기 이틀 전까지 매칭 실패 시 제한
- 그룹원만 수락/거절 가능
- 매칭에 포함되지 않은 유저의 요청 처리 → 예외 처리





