Chapter 1-1 Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰

2025. 5. 23. 10:18·Fastapi

🗓️ Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰

🔗 사이트 주소

http://www.meetifyr.com/

🧩 Meetifyr란?

Meetifyr는 로그인 없이도 누구나 사용할 수 있는 간편한 약속 일정 조율 서비스입니다.

  • 주로 회식, 동아리 모임, 프로젝트 회의 등 여러 사람의 일정 조율이 필요한 상황에서 유용합니다.
  • 이름만 입력하고 가능한 날짜만 체크하면, 자동으로 모두가 가능한 날짜를 추천해줍니다.

📌 핵심 기능 요약

1. 미팅 생성

  • 고유한 meeting URL 생성.
  • 주제 및 장소 입력 가능.
  • 장소는 지도 마커 기능도 있으나, Google Maps 설정 이슈로 기능 미흡.

2. 날짜 선택

  • 최대 4주간 날짜 범위를 지정할 수 있음.
  • 각 참여자는 이름을 추가한 뒤 가능한 날짜(Free) 를 체크.
  • 자동으로 참석 가능 인원이 많은 날짜를 추천.
  • 결정 우선순위:
    1. 가장 많은 인원이 가능한 날
    2. 같은 경우 ⭐ 표시 많은 날
    3. 그것도 같으면 가장 빠른 날짜

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을 분리하는 방식이 더 실용적

⭐ Star 기능

  • POST /v1/stars : 특정 날짜에 별 표시 추가
  • DELETE /v1/stars/{participant_date_id} : 별 삭제

✅ 마무리

Meetifyr는 로그인 없이 일정 조율이 가능한 유용한 도구로, 회의나 약속을 쉽게 조율할 수 있게 도와줍니다.
단순한 기능이지만, 실용성과 UI의 직관성이 매우 뛰어난 서비스입니다. Python 기반의 웹 서비스라는 점도 개발자에게는 반가운 요소입니다.

'Fastapi' 카테고리의 다른 글

Chapter 2-1 Pytest 설치 및 단위 테스트 입문 가이드  (0) 2025.05.23
Chapter 1-6 Mypy 설치 및 정적 타입 검사 가이드  (0) 2025.05.23
Chapter 1-5 Git 기본 세팅 및 커밋 가이드  (0) 2025.05.23
Chapter 1-3 Python 코드 포매터 Black 설치 및 설정 가이드  (0) 2025.05.23
Chapter 1-2 Poetry 설치 가이드  (0) 2025.05.23
'Fastapi' 카테고리의 다른 글
  • Chapter 1-6 Mypy 설치 및 정적 타입 검사 가이드
  • Chapter 1-5 Git 기본 세팅 및 커밋 가이드
  • Chapter 1-3 Python 코드 포매터 Black 설치 및 설정 가이드
  • Chapter 1-2 Poetry 설치 가이드
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (807)
      • Python (32)
      • 프로젝트 (116)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (42)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    chatgpterror
    titaniumcase
    urbantrends
    remittance
    homebartrend
    btsdischarge
    smartphonedurability
    college reunions
    trumpmuskclash
    basalcellcarcinoma
    뷔
    newpoliticalparty
    btsjungkook
    hotcoffeecase
    youngprofessionals
    livebroadcast
    btscomeback
    life reflection
    gpterror
    RM
    americanlaw
    btsreunion
    lawsuitculture
    classaction
    self-growth
    chinanightlife
    americaparty
    bts
    travel ban
    global politics
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 1-1 Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰
상단으로

티스토리툴바