한동대 팀모임 고유 프로그램인 팀CC를 보다 편리하게 관리하고, 인증할 수 있도록 하는 이벤트 플랫폼
- TeamCC는 팀 사람들이 짝을 이루어 다양한 미션을 수행하며 친목을 쌓는 교류 프로그램입니다.
- 팀장(관리자)은 이벤트 개설 및 미션 설정을 할 수 있고, 참가자는 초대코드로 이벤트에 참여합니다.
- 미션 수행 후 인증을 제출하면 점수와 순위가 계산되어 순위표로 제공됩니다.
- 짝 매칭은 조건 기반 자동 알고리즘을 통해 공정하고 유연하게 이루어집니다.
- 백엔드: Spring Boot 3.0, Spring Security, JPA (Hibernate)
- DB: MySQL
- 인증: Google OAuth2, JWT (Access/Refresh)
- ✔️ Google OAuth2 기반 로그인 & JWT 발급
- ✔️ 이벤트 생성 / 초대코드 기반 참여
- ✔️ 짝 매칭 (성별 + isSaeSae 조건 기반 매칭)
- ✔️ 미션 생성 / 선택 / 배점 관리
- ✔️ 인증 제출 (이미지 경로 or 제출 여부)
- ✔️ 미션 제출 여부 조회 API
- ✔️ 짝별 미션 진행 상태 조회
- ✔️ 점수 기반 순위 조회
# 1. 레포지토리 클론
git clone https://github.com/your-username/teamcc-backend.git
# 2. 디렉토리 이동
cd teamcc-backend
# 3. 환경변수 파일 설정
# application.properties 필요
# 4. 빌드 및 실행
./gradlew build
java -jar build/libs/teamcc-backend.jarsrc/
├── domain/
│ ├── auth/
│ ├── User/
│ ├── Event/
│ ├── Pairing/
│ ├── Participant/
│ ├── MissionInfo/
│ ├── SelectedMission/
│ └── Submission/
│ ├── controller/
│ ├── service/
│ └── repository/
│
├── global/ # JWT, Security, Exception 공통 처리
└── TeamCcApplication.java # 애플리케이션 진입점| 기능 | 메서드 | 경로 | 설명 |
|---|---|---|---|
| 🔐 로그인 | POST | /auth | Google OAuth2 로그인 후 JWT 발급 |
| 📩 이벤트 생성 | POST | /event/create | 초대코드 포함 이벤트 생성 |
| 🎟️ 이벤트 참여 | POST | /event/join | 초대코드로 이벤트 참여 |
| 🧩 짝 매칭 시작 | POST | /pairing/start | 조건 기반 짝 매칭 수행 |
| ✅ 미션 인증 제출 | POST | /mission/submit | 이미지 경로와 함께 인증 제출 |
| 📊 짝별 미션 현황 | GET | /mission/pair?eventId={id} | 미션 + 제출 여부 반환 |
| 🏆 순위 조회 | GET | /ranking | 사용자 점수 기준 랭킹 제공 |
API 명세서: https://www.notion.so/API-1f0dabfdf20a80fda705f656523b2070
- 이슈 생성 및 작업 내용 논의
- 브랜치 생성:
git checkout -b feature/your-feature-name - 작업 후 커밋 & 푸시: git commit -m "feat: 작업 내용" git push origin feature/your-feature-name
- Pull Request 생성 및 리뷰 요청
