슬기로운 긱사생활은 기숙사생들이 배달, 공구, 택시 등 생활 목적에 맞는 파티를 모집하고, 모집 완료 후 자동 생성되는 채팅방에서 실시간으로 소통할 수 있는 기숙사 커뮤니티 플랫폼입니다.
기숙사 생활에서는 배달을 함께 시키거나, 택시를 같이 타거나, 필요한 물건을 공동 구매하는 상황이 자주 발생합니다. 하지만 기존 학교 커뮤니티에서는 관련 정보가 여러 게시글에 흩어져 있어 원하는 정보를 찾기 어렵고, 모집이 완료된 이후에는 별도의 오픈채팅방을 만들어야 하는 불편함이 있었습니다.
저희는 이러한 문제를 해결하기 위해 기숙사생들이 목적별로 파티를 모집하고, 모집 인원이 충족되면 채팅방을 통해 자연스럽게 소통할 수 있는 서비스를 기획하게 되었습니다.
| 기능 | 설명 |
|---|---|
| 👤 회원가입 | 사용자는 이메일, 비밀번호, 이름, 호실, 기숙사 정보를 입력해 가입할 수 있습니다. |
| 🔐 로그인 | 가입한 이메일과 비밀번호를 통해 자신의 계정으로 로그인할 수 있습니다. |
| 🏠 메인페이지 | 최근 모집 중인 파티와 배달, 공구, 택시, 자유게시판으로 이동할 수 있는 카테고리를 제공합니다. |
| ✍️ 글 작성 | 사용자는 제목, 내용, 모집 인원, 약속 시간, 장소를 입력해 파티 모집 게시글을 작성할 수 있습니다. |
| 📄 상세 페이지 | 게시글 정보와 파티 모집 정보를 확인하고, 댓글 작성 및 파티 참여가 가능합니다. |
| 🤝 파티 참여 | 사용자가 파티에 참여하면 참여자 정보가 저장되고, 모집 인원이 충족되면 파티 상태가 자동으로 변경됩니다. |
| 💬 실시간 채팅 | 파티 모집 완료 후 자동 생성된 채팅방에서 참여자들이 실시간으로 소통할 수 있습니다. |
단순 게시판이 아니라 게시글 작성과 동시에 파티 모집 정보가 함께 생성되어야 했습니다. 이를 위해 POST와 PARTY를 분리하되, post_id를 기준으로 두 데이터를 연결하는 구조로 설계했습니다. 사용자는 하나의 게시글 상세 페이지에서 게시글 내용과 모집 인원, 약속 시간, 장소 등의 파티 정보를 함께 확인할 수 있습니다.
파티 참여 기능에서는 중복 참여를 막고, 현재 참여 인원과 최대 모집 인원을 비교해야 했습니다. 사용자가 파티에 참여하면 PartyMember 데이터를 생성하고, 모집 인원이 충족되면 PARTY 상태를 자동으로 모집 완료로 변경하도록 구현했습니다. 이를 통해 관리자가 직접 상태를 변경하지 않아도 서비스 흐름이 자동으로 이어지도록 했습니다.
메인페이지와 상세 페이지에서는 여러 테이블의 데이터가 함께 필요했습니다. 프론트엔드에서 여러 API를 반복 호출하지 않도록, 화면에서 필요한 데이터를 기준으로 API 응답 구조를 조정했습니다. 특히 상세 페이지에서는 게시글 정보, 파티 정보, 사용자의 참여 여부를 함께 반환하도록 설계했습니다.
파티 모집이 완료되면 참여자들이 바로 소통할 수 있어야 했습니다. 이를 위해 PARTY, PartyMember, CHATROOM, CHATMEMBER 데이터를 연결하여 모집 완료 이후 채팅방이 생성되고, 파티 참여자들이 채팅방에 연결될 수 있는 흐름을 설계했습니다.
| 이름 | 학과 | 이메일 | 역할 |
|---|---|---|---|
| 박서연(@yo3niii) | 사이버보안학과 | some0312@ajou.ac.kr | FrontEnd Developer |
| 박윤서(@Meon-ji) | 사이버보안학과 | pys33129747@ajou.ac.kr | BackEnd Developer |
| 송주영(@song-direct) | 디지털미디어학과 | consky0910@ajou.ac.kr | FrontEnd Developer |
| 송현수(@songhyeonsu1029) | 디지털미디어학과 | thdgustn1029@ajou.ac.kr | BackEnd Developer |

