Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FE] [FEAT] 세미나실 캘린더 예약 시스템 #244

Open
15 tasks
pillow12360 opened this issue Jan 4, 2025 · 0 comments
Open
15 tasks

[FE] [FEAT] 세미나실 캘린더 예약 시스템 #244

pillow12360 opened this issue Jan 4, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request 🙂 FE

Comments

@pillow12360
Copy link
Collaborator

🤷 구현할 기능

세미나실 예약 시스템 구현

1. 캘린더 기본 구조 구현

  • ReservationCalendar 컴포넌트 생성 및 스타일링
    • react-calendar 라이브러리 커스텀 스타일링
    • 모바일 반응형 레이아웃 구현
    • 날짜별 예약 현황 표시 기능
  • 시간대별 예약 상태 표시 기능 구현
    • 30분 단위 시간 슬롯 구현
    • 예약된 시간대 시각적 표시
    • 더보기 기능 구현 (2개 이상 예약 시)

2. 세미나실 정보 표시 구현

  • RoomDetail 컴포넌트 구현
    • 세미나실 이미지 표시
    • 수용 인원 및 위치 정보 표시
    • 반응형 레이아웃 적용

3. 예약 모달 구현

  • ReservationForm 컴포넌트 구현
    • 사용자 정보 입력 필드 (이름, 학과, 연락처)
    • 목적 선택 라디오 버튼
    • 시간 선택 드롭다운
    • 유효성 검사 구현
  • TimeSelection 컴포넌트 구현
    • 30분 단위 시간 선택 UI
    • 이미 예약된 시간대 비활성화
    • 시간 범위 유효성 검사
  • 예약 상세 정보 모달 구현
    • 예약 정보 상세 표시
    • 예약 현황 조회 기능

4. 상태 관리 및 로직 구현

  • useReservation 훅 구현
    • 예약 생성 기능
    • 예약 조회 기능
    • 시간대 중복 체크 기능
  • useCalendarEvents 훅 구현
    • 날짜별 이벤트 관리
    • 캘린더 상태 관리
    • 이벤트 핸들러 구현

5. 유틸리티 기능 구현

  • dateUtils 구현
    • 날짜 포맷팅 유틸리티
    • 시간대 변환 유틸리티
    • 날짜 비교 유틸리티
  • validationUtils 구현
    • 폼 입력값 검증
    • 시간대 유효성 검사
    • 에러 메시지 관리

6. API 연동

  • 세미나실 정보 조회 API 연동
    • GET /api/seminar-rooms/{id} 연동
    • 에러 처리 구현
  • 예약 관련 API 연동
    • 예약 생성 API 연동
    • 예약 조회 API 연동
    • 에러 핸들링 구현

7. 테스트 및 최적화

  • 유닛 테스트 작성
    • 컴포넌트 테스트
    • 훅 테스트
    • 유틸리티 함수 테스트
  • 성능 최적화
    • 불필요한 리렌더링 방지
    • 메모이제이션 적용
    • 레이아웃 최적화
  • 사용성 테스트
    • 모바일 환경 테스트
    • 크로스 브라우저 테스트
    • 접근성 테스트

참고사항

  • react-calendar 라이브러리 사용
  • styled-components로 스타일링
  • 전역 모달 시스템 활용
  • 모바일 우선 반응형 디자인 적용

Definition of Done

  • 모든 기능이 정상적으로 작동
  • 모바일/데스크톱 모두 정상 동작
  • 코드 리뷰 완료
  • 테스트 케이스 작성 완료
  • 디자인 가이드라인 준수
@pillow12360 pillow12360 added enhancement New feature or request 🙂 FE labels Jan 4, 2025
@pillow12360 pillow12360 self-assigned this Jan 4, 2025
pillow12360 added a commit that referenced this issue Jan 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request 🙂 FE
Projects
None yet
Development

No branches or pull requests

1 participant