https://github.com/FE4react5/Hedwig/tree/develop
https://github.com/fastcampusmini03/calendarFE/tree/develop
메인페이지
헤더, 달력 컴포넌트, 푸터, 로그인,회원가입버튼으로 구성되어있습니다.
헤더 : 서비스의 이름과 함께 로그인 후에는 우측에 drawer가 생성되어 마이페이지, 로그아웃의 기능을 사용할수 있습니다.
달력 컴포넌트 : 본인을 포함한 사용자들이 신청하여 승인된 일정을 보여줍니다. 로그인한 유저에 한해서 원하는 일정을 드래그&클릭 하여 일정을 추가할수 있습니다.
푸터 : 이 프로젝트에 땀과 쏟은 사람들의 이름이 적혀있습니다.
로그인, 회원가입 버튼 : 각각의 버튼을 누르면 해당 페이지로 이동합니다.
로그인 페이지
아이디(이메일), 비밀번호를 입력해서 로그인버튼을 누를때 올바른 정보일 경우 메인 페이지로 이동합니다
회원가입 페이지
계정이 없는 사용자가 계정을 만들기 위해 이용하는 페이지 입니다.
사용자의 이름과 이메일, 비밀번호, 비밀번호 확인을 입력하고 회원가입을 진행합니다.
회원가입이 성공하면 좌측하단에 환영멘트가 표시되는 스낵바가 보입니다.
마이 페이지
로그인한 사용자만 들어갈수 있는 페이지 입니다.
사용자의 정보를 볼수 있으며 수정이 가능합니다.
사용자가 요청한 일정 목록을 볼수 있으며, 승인된 목록을 열람할수 있습니다.
이 때 '년'과 '월'을 선택하면 해당 일자에 승인/신청한 일정을 볼수 있습니다.
관리자 페이지
관리자의 계정으로 로그인하면 제일 먼저 보이는 페이지입니다.
좌측에는 달력 컴포넌트로 사용자들의 일정을 볼수 있으며, 우측에는 연차/당직 신청 목록을 보여줍니다.
등록/수정/삭제에 대한 탭이 존재하며, 각각의 탭에 해당하는 요청 리스트를 보여주게됩니다.
무한스크롤로 구현하여 전체 데이터를 보여줄수 있게 했으며, 마지막 데이터가 렌더링 되면 하단에 마지막페이지라를 뜻하는 텍스트가 표시됩니다.
각각의 리스트 항목에는 승인 거절 버튼이 있으며, 버튼을 누르면 의사를 다시 묻는 dialog가 나타납니다
승인/ 거절은 각각의 탭마다 다른 동작을 취합니다.
사용자 관리 페이지
현재 회원가입된 사용자 목록을 볼 수 있는 페이지입니다.
상단에 input으로 사용자 검색을 할수 있으며, 검색 하기 전에는 전체 유저의 데이터를 보여줍니다.
이때 무한 스크롤 기능이 존재하며 한번에 8명씩 추가로 표시가 됩니다
input에 검색하면 0.5초 뒤에 해당 사용자 이름과 일치하는 목록만 나오게 됩니다.
동명이인이 존재함을 고려해서 이메일도 같이 표시되게 함으로써 헷갈리지 않게 제작했습니다.
항목을 클릭하면 유저의 권한을 변경할수 있는 팝업이 나타납니다.
관리자, 일반중 하나를 선택하여 변경을 누르고 confirm 시 권한이 변경되어 실시간으로 업데이트합니다.
https://www.udemy.com/course/the-nextjs-13-bootcamp-the-complete-developer-guide
관련 공부 내용은 next.js 시리즈에 작성중