전체 프로젝트
Team Project

마니또띠 매칭 서비스

그룹을 만들고 무작위 알고리즘으로 마니또를 배정한 뒤, 익명 게시글과 방명록으로 마무리하는 마니또 매칭 서비스입니다.

기간
2025.03 – 2025.06
팀 구성
7명 (BE 3 · FE 4)
역할
백엔드 개발
완성 여부
완성 ✓
Spring BootJavaMySQLJWTSpring Security
01

기획 의도

동아리 소모임 마니또 행사에서 종이 뽑기나 주최자가 직접 배정하는 방식은 공정성 시비와 비밀 누출 문제가 자주 발생했습니다.

이를 해결하기 위해 그룹을 생성하고 무작위 알고리즘으로 마니또를 배정한 뒤, 익명으로 게시글과 댓글을 주고받는 웹서비스를 개발했습니다. 마지막엔 방명록으로 마무리하는 플로우까지 설계했습니다.

핵심 가치 — 공정한 무작위 배정 + 마니또가 드러나지 않는 익명 소통 구조
02

시연 영상

03

서비스 플로우 & 시스템 구조

그룹 생성 → 가입 신청 → 수락 / 거절 → 무작위 마니또 배정 → 익명 게시글·댓글 → 방명록 순서로 이어지는 플로우입니다. 총 5개 도메인으로 나누어 구성했습니다.

groups그룹 생성 · 가입 · 상태 관리
matching무작위 마니또 배정 (MatchingSession, MatchingResult)
manitottipost익명 게시물 · 댓글
guestbook방명록
member회원 · 마이페이지
인증JWT 기반 (Spring Security + JwtFilter)
04

담당 역할 · 주요 구현

1

그룹 상태 관리

그룹 생성 → 가입 신청 → 수락 / 거절 → 마니또 배정 → 종료까지 전 단계의 상태 전환 로직을 직접 구현했습니다. GroupJoin, MemberGroups, JoinStatus 엔티티를 설계하고 서비스 레이어를 작성했습니다.

2

댓글 CRUD

익명 게시물(ManitottiPost)에 대한 댓글 작성·수정·삭제 API를 구현했습니다. 관리자(그룹장)가 다른 유저의 댓글을 강제 삭제할 수 있는 권한 로직도 별도로 만들었습니다.

3

익명 메시지 업데이트

마니또와 마니띠 사이 익명 메시지를 수정하는 Update Message API를 구현했습니다.

4

마이페이지

프로필 조회·수정, 닉네임 수정, 프로필 메시지 수정 API를 구현했고, 마이페이지 도메인을 member 패키지로 리팩토링했습니다.

5

멤버 프로필 조회

그룹 내 멤버 프로필을 조회하는 API를 구현했습니다.

05

성과

🏆
제1회 전국대학 소프트웨어 성과 공유회 혁신상 (동아대학교 소프트웨어혁신센터장상)
2등
멋쟁이사자처럼 한국외대 동아리 내 미니프로젝트
17 / 67
백엔드 커밋 (약 25%)
← 이전 프로젝트UniBiz