FestaPick은 축제 참여자와 축제 관리자(주최측) 모두가 함께 쓰는 플랫폼입니다.
- 💬 축제별 채팅방을 통해 참여자 간 정보 공유
- 🧭 여행 MBTI 입력으로 사용자 맞춤 축제 추천
- 📝 간편한 축제 등록 및 관리 지원
- 📢 공지사항 기능을 통한 빠른 정보 전달
- 지도에 있는 픽픽(PickPick)을 선택해 지역을 설정하고, 여행 MBTI를 입력하면 사용자의 성향에 맞는 축제를 추천받을 수 있습니다.
- 추천받은 축제 중 마음에 드는 축제를 클릭하면 상세 정보를 조회할 수 있습니다.
- 마음에 드는 축제는 좋아요를 눌러 저장할 수 있습니다.
- 다녀온 축제에 대해서는 리뷰를 작성해 다른 사용자와 경험을 공유할 수 있습니다.
- 각 축제별 채팅방에서 참여자들과 실시간으로 정보를 공유할 수 있습니다.
- 마이페이지에서는 참여 중인 채팅방의 알림 여부를 확인할 수 있습니다.
- 축제를 직접 관리하고 싶다면 관리자 등업을 신청할 수 있습니다.
- 신청 시 소속 정보와 관련 서류를 제출합니다.
- Admin 승인 후 등업 여부가 결정됩니다.
- 관광공사(TourAPI)에 등록된 축제에 대해 관리자 권한을 신청할 수 있습니다.
- Admin 승인 후, 해당 축제에 대한 수정·삭제·공지사항 등록 권한을 획득합니다.
- 축제 관리자는 새로운 축제를 등록할 수 있습니다.
- 등록된 축제는 Admin의 승인 후 일반 사용자에게 노출됩니다.
- 자신이 등록한 축제에 대해 공지사항을 등록할 수 있습니다.
- 축제 정보를 수정 및 삭제할 수 있습니다.
- 로그를 직접 서버 인스턴스에 접속해서 확인하는게 아닌 전문 검색을 통해서 로그를 확인할 수 있습니다.
- 예외가 발생한 REQUEST/RESPONSE에 대해서는 UUID를 저장한 로그를 남겨 어떤 엔드포인트에서 어떤 예외가 발생했는지 확인할 수 있습니다.
- Prometheus를 통해 Spring Boot 서버의 메트릭을 수집하고 Grafana를 통해서 시각화하여 대시보드를 제공합니다.
| 엔티티(Entity) | 설명(Description) |
|---|---|
| ChatMessage | 사용자가 보낸 채팅 메시지를 저장합니다. |
| ChatParticipant | 사용자가 어느 채팅방에 들어갔는지, 채팅방의 채팅을 어디까지 읽었는지 저장합니다. |
| ChatRoom | 각 축제별 채팅방 정보를 저장합니다. |
| Festival | 축제에 대한 상세 정보를 저장합니다. |
| FestivalNotice | 축제 관리자(Festival Manager)가 작성한 공지사항을 저장합니다. |
| FestivalPermission | 축제(TourAPI를 통해 등록된 축제)에 대한 관리 신청서를 저장합니다. |
| FMPermission | 축제 관리자(Festival Manager) 신청서를 저장합니다. |
| RecommendationHistory | 사용자가 가장 최근에 받았던 AI 추천 내역을 저장합니다. |
| Review | 사용자가 등록한 축제의 리뷰를 저장합니다. |
| users | 사용자 정보를 저장합니다. |
| Wish | 사용자의 축제 좋아요 기록을 저장합니다. |














