반응형
개요
일정 정리를 위한 Calendar 관리는 제 삶에 필수적인 사항입니다.
하지만, 일정 입력 시 UX 적으로 번거로운 부분이 있습니다.
가령 반복적이지만 비 정기적인 일정 (운동, 모임 같은)을 입력할 때
날싸선택 -> 내용 입력 -> 시간 입력 -> 장소 입력 등등의 과정을 거치며
조금 더 편하게 입력할 수 있지 않을까 합니다.
기획
EasyCalendar란 반복적으로 일어나는 컨텍스트를 템플릿 화 하여, 반복되는 내용을 미리 입력해 놓고, 간편하게 등록하는 웹 서비스이다.
전체적인 구성으로는 4 페이즈로 나누어집니다.
1. 로그인 / 구글 연동 페이즈
- 최초 EntryPoint에서 p-bear 로그인 연동을 통해 로그인 및 토큰 발급
- 서비스 진입 시 구글 연동을 확인하며, 구글 연동 실패 / 미연동 시 구글 연동 진입
- 연동 성공 시 서비스
2. 일정 확인 및 간편 입력 버튼이 있는 DashBoard 페이즈
- 앞으로 시작될 3개의 이벤트에 대한 내용을 보여줍니다.
- 일정 템플릿이 리스트업 됩니다.
- 템플릿 등록버튼이 있습니다.
3. 일정 등록 페이즈
- 일정 등록 버튼 입력 시, 일정등록에 필요한 정보 입력 컨테이너가 해당 버튼 아래에 생성 또는 모달
- 일정 등록 버튼 위치
4. 일정 템플릿 등록 페이즈
- 일정 템플릿 등록을 위한 정보 입력 페이지가 나옵니다.
- 템플릿을 Type별로 관리할 예정
- WeekDayType: 이번주 또는 다음 주 xx요일로 사전입력된 정보를 등록할 수 있는 타입
- 템플릿에 대한 정보는 서버에서 관리
- 템플릿 CRD 제공
UI 설계
기능 설계
인증
- client는 p-bear AccessToken 만 관리
- 구글연동을 통해 서버에서 사용자 연동 계정 및 refresh_token 관리
- client는 유효한 p-bear AccessToken으로 요청을 하며, google Token이 필요한 경우 서버에서 캐싱 또는 refresh를 통해 Google로 ByPass
기능 정리
API | Desc |
OAuth2.0 로그인 | 로그인 페이지 제공, 로그인 후 지정된 redirectUri로 redirect하여, client 해당 URI를 통해 token 획득 |
Google 연동 | Google OAuth API를 통해 authorization_code 방식으로 code를 획득 서버로 code를 전달하여 연동 작업 수행 |
Google 연동 확인 | p-bear AccessToken을 통해 Google 연동 정보를 조회 |
Calendar 리스트 조회 | 내 연동된 계정의 Google Calendar 리스트 조회 기능 서버 필수 제공 정보 - id (pk) - desc |
Event 리스트 조회 | 지정된 Calendar의 등록된 이벤트 리스트 조회 기능 요청 사항 - calendarId - 갯수 - 이벤트 시작 시간 서버 필수 제공 정보 - id (pk) - title - desc - 시작 시간 - 종료 시간 - 등록 시간 |
템플릿 등록 | 지정된 형식의 템플릿 등록 기능 이름과 type으로 등록하며, 기타 정보 jsonObject로 제공 및 서버에서 validation 후 저장 요청 사항 - 이름 - type - 일정 명, 일정 상세 - properties (json) 응답으로 id 값을 준다 |
템플릿 리스트 조회 | 등록된 템플릿 리스트로 조회하는 기능 템플릿 관련 정보 전체 조회 리스트에 객체로 모든 정보가 담겨서 나온다. |
템플릿 삭제 | 리스트 화면에서 object를 길게 클릭 또는 삭제 버튼 활성화해서 서버로 삭제 요청을 보낸다. 서버에서 id를 통해 템플릿 데이터를 삭제한다. |
ETC
이번 프로젝트의 목적은 Flutter에 익숙해는 것이 첫 번째이다.
Flutter 주요 구현 사항
- UI
- Http 통신
- 토큰 관리
반응형
'[완] 개인서버 개발 > EasyCalendar(완)' 카테고리의 다른 글
#2 EasyCalendar Flutter 구현 (0) | 2023.06.20 |
---|