Fastapi
Chapter 1-1 Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰
Chansman
2025. 5. 23. 10:18
🗓️ Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰
🔗 사이트 주소
🧩 Meetifyr란?
Meetifyr는 로그인 없이도 누구나 사용할 수 있는 간편한 약속 일정 조율 서비스입니다.
- 주로 회식, 동아리 모임, 프로젝트 회의 등 여러 사람의 일정 조율이 필요한 상황에서 유용합니다.
- 이름만 입력하고 가능한 날짜만 체크하면, 자동으로 모두가 가능한 날짜를 추천해줍니다.
📌 핵심 기능 요약
1. 미팅 생성
- 고유한 meeting URL 생성.
- 주제 및 장소 입력 가능.
- 장소는 지도 마커 기능도 있으나, Google Maps 설정 이슈로 기능 미흡.
2. 날짜 선택
- 최대 4주간 날짜 범위를 지정할 수 있음.
- 각 참여자는 이름을 추가한 뒤 가능한 날짜(Free) 를 체크.
- 자동으로 참석 가능 인원이 많은 날짜를 추천.
- 결정 우선순위:
- 가장 많은 인원이 가능한 날
- 같은 경우 ⭐ 표시 많은 날
- 그것도 같으면 가장 빠른 날짜
3. 참가자 관리
- 이름 등록/변경/삭제 가능.
- 날짜 상태 변경 가능 (Free ↔ Busy).
4. 댓글 기능 및 타임라인
- 댓글을 남겨 의사소통 가능.
- 모든 변경 이력은 타임라인에 기록됨 (필수 기능은 아님).
🐍 기술적 특징
- Python으로 구현된 웹 애플리케이션입니다.
- About 페이지에서 확인 가능
🐞 발견된 버그
- 시작 날짜가 종료 날짜보다 이후인 경우에도 생성 가능.
- 날짜 유효성 검증(validation) 누락 → 강의 구현 시 보완 예정.
🧪 API 스펙 살펴보기
📌 주요 API 목록
✅ Meeting 관련
- POST /v1/meetings : 미팅 생성
- GET /v1/meetings/{meeting_url_code} : 미팅 조회
✅ Participant 관련
- POST /v1/people : 참가자 추가
- DELETE /v1/people/{participant_id} : 참가자 삭제
- 날짜 상태 변경 API (ON/OFF)
🔁 토글 API 고민
🧠 Toggle API의 문제점
- 단일 toggle API를 사용할 경우, read timeout 시 중복 요청으로 인해 상태가 원래 상태로 돌아갈 수 있음
- 따라서 멱등성 보장 API가 더 안정적
sequenceDiagram
autonumber
Client ->> Server: "toggle 요청 보냄 (OFF → ON 의도)"
Server ->> Server: "처리 지연"
Client ->> Client: "read timeout, 재시도"
Server ->> Server: "이미 ON 처리, 재요청으로 OFF 변경됨"
Server -->> Client: "OFF 응답"
✅ 해결 방법 제안
- 명시적 상태 변경 API 설계 권장
- /v1/people/{id}/change 와 같은 엔드포인트에서
- body에 status: on 또는 status: off 전달
- 하지만 이 방식은 URL만으로 상태를 파악하기 어려움
- API 관찰 도구(APM) 사용 시 request body는 쉽게 확인 불가
- 따라서 실제 운영에서는 on/off로 URL을 분리하는 방식이 더 실용적
- /v1/people/{id}/change 와 같은 엔드포인트에서
⭐ Star 기능
- POST /v1/stars : 특정 날짜에 별 표시 추가
- DELETE /v1/stars/{participant_date_id} : 별 삭제
✅ 마무리
Meetifyr는 로그인 없이 일정 조율이 가능한 유용한 도구로, 회의나 약속을 쉽게 조율할 수 있게 도와줍니다.
단순한 기능이지만, 실용성과 UI의 직관성이 매우 뛰어난 서비스입니다. Python 기반의 웹 서비스라는 점도 개발자에게는 반가운 요소입니다.