Skip to content

sj0320/PlanU-BE

 
 

Repository files navigation

PlanU

“우리 약속 언제 잡지?”라는 고민에, 멤버별 가능한 날짜를 통계로 분석해 가장 좋은 날짜를 제안하고, 일정까지 통합 관리해주는 약속 조율 서비스


🧩 목차

  1. 프로젝트 소개
  2. 기술 스택
  3. ERD
  4. 핵심 기능
  5. 시연 영상
  6. API 문서

📌 프로젝트 소개

  • 프로젝트 개요
    PlanU는 사용자들이 모임 약속을 투표 방식으로 조율하고, 개인 일정과 그룹 일정을 통합적으로 관리할 수 있도록 도와주는 일정 관리 서비스입니다. 사용자는 친구 또는 그룹원들과 함께 약속 가능한 날짜를 선택해 투표하고, 확정된 날짜는 개인/그룹 달력에 자동 반영됩니다.

  • 주요 기능 요약

    • 일정 생성 및 관리 (개인 일정, 그룹 일정 생성/수정/삭제)
    • 개인일정 / 모임일정 알림 기능 (SSE 기반 실시간 알림)
    • 모임 멤버 간 단체 채팅 기능 (실시간 채팅 지원)
    • 모임 멤버 별 가능한 날짜 추출 및 약속 날짜 통계 제공
    • 약속 당일 참석자 간 실시간 위치 공유
    • 친구 관리 및 추천 친구 목록 제공

🛠 기술 스택

분류 사용 기술
Backend Java 17, Spring Boot, Spring Security, MyBatis
Database MariaDB, Redis
Infra/배포 AWS EC2, S3, Docker, GitHub Actions
문서화 Swagger (springdoc-openapi)

🗂 ERD

🔹 ERD

스크린샷 2025-07-06 오전 1 52 18

🚀 핵심 기능

번호 기능 명 설명
1 일정 생성 및 관리 개인 및 그룹 일정을 생성, 수정, 삭제할 수 있습니다.
2 가능한 날짜 투표 및 통계 참여자들이 약속 가능한 날짜를 선택하면, 이를 기반으로 가장 적절한 약속 날짜를 통계적으로 추출합니다.
3 SSE 기반 실시간 알림 친구 요청, 일정 생성, 일정 임박 알림 등 다양한 이벤트에 대해 실시간으로 알림을 전송합니다.
4 그룹 단체 채팅 그룹 멤버 간 실시간 채팅을 통해 약속이나 일정을 조율할 수 있습니다.
5 실시간 위치 공유 약속 당일 참석자들의 위치를 지도 상에 실시간으로 공유합니다.
6 친구 관리 및 추천 기능 친구 요청/수락/거절, 추천 친구 목록 등을 통해 관계를 확장하고 관리할 수 있습니다.

🎥 시연 영상

1. 일정 생성 및 관리

  • 📝 설명: 개인 일정과 그룹 일정을 생성/수정/삭제하는 흐름을 보여줍니다.
default.mp4

2. 가능한 날짜 투표 및 통계

  • 📝 설명: 멤버들이 가능한 날짜를 선택하고, 그 결과를 바탕으로 통계를 집계해 확정 날짜를 제안하는 과정을 시연합니다.
default.mp4

3. SSE 기반 실시간 알림

  • 📝 설명: 친구 요청, 일정 생성, 일정 임박 시점 등에서 실시간 알림이 수신되는 모습을 보여줍니다.

3-1. 친구 요청

default.mp4

3-2. 일정 생성 및 일정 임박

default.mp4

3-3. 그룹 단체 채팅

  • 📝 설명: 그룹원들과의 실시간 채팅 기능을 활용하는 시나리오를 담은 영상입니다.
default.mp4

4. 친구 관리 및 추천 기능

  • 📝 설명: 친구 요청 보내기, 수락/거절, 추천 친구 확인 기능을 시연합니다.
default.mp4

📑 API 문서

🔗 👉 API 명세 보기 (Swagger UI)


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%