///////
Search
Duplicate

1주차 과제

Revision history

2022.03.31 - First Documentation

목차

1.
Business purpose
2.
system context diagram
3.
usecase list
4.
concept of operation
5.
problem statement
6.
glossary
7.
references

Business purpose

지인들, 혹은 특정 모임에서 모든 사람이 참석 가능한 일정을 잡는 것은 상당히 어렵다. 보통 대형 미팅이나 강의들은 주최측에서 일정을 고정하고 참석자들이 해당 일정에 맞추어야 하지만, 모두 동등한 입장에서 진행되는 만남에서는 일방적인 날짜 선택이 어렵다. 예를들어 송년회를 한다고 생각해보자. 누군가 30일에 다 모이자고 해도 모든 사람이 해당 일정이 가능한 것은 아니다. 대부분의 사람들은 카카오톡의 투표 기능이나 오랜 시간의 논쟁을 통해 가장 적합한 일정을 정하곤 한다.
누구든 편하게, 어디서든 접근할 수 있는 공유 스케줄 캘린더가 있으면 이러한 문제를 손쉽게 해결할 수 있다. 현재의 캘린더는 대부분 ‘나'에 초점이 맞추어져 있다. 그렇기 때문에 내 일정을 관리하는 데에는 편리하지만, 다양한 모임에서의 일정을 관리하기에는 어려움이 많다.
공유 캘린더에, 내가 가능한 일정과 불가능한 일정을 터치 한번으로 손쉽게 추가할 수 있다. 각 그룹별 캘린더는 개별적으로 동작하며, 해당 모임별로 미팅을 원하는 시간을 설정할 수 있다.

Target market

조별과제를 진행하는 대학생들
다양한 모임(동아리, 스터디)을 진행 중인 사람들
친구들과 한 번 만날 일정을 잡기 어려운 직장인들

Target device

모임에 참여하는 모든 사람이 접근할 수 있도록 웹 기반의 서비스를 제작한다. 카카오톡에서 간단하게 링크를 공유하거나, 웹 브라우저의 북마크, 기타 어플리케이션내부의 임베드 블록을 활용해서 사용할 수 있다.

Schema (NoSQL)

User
user_id
user_nickname
[Schedule]
Group (User - Calendar)
group_id
[user_id]
MeetingDate [Date]
Schedule
group_id pk calendarId
[Date]
Date
date_id
DateType
time_arr

Interface

CalendarType
anonymous (default)
signed
DateType
Posible
Imposible
Default
ThemeType
Light
Dark
Default

system context diagram

Login : 유저 로그인
CreateUser : 유저 로그인 시, 해당 유저의 첫 로그인이면 유저 생성
UpdateUser : 유저 정보 업데이트
DeleteUser: 유저 삭제
CreateGroup: 그룹 생성 ( 공유 캘린더 생성 )
JoinGroup : 그룹에 유저가 참여
GetGroup : 특정 그룹 가져오기
UpdateGroup : 그룹 정보 업데이트
CreateScheduleByGroupId : 그룹에 등록된 내 스케줄을 그룹 id를 활용해 생성
UpdateScheduleByGroupId : 그룹에 등록된 내 스케줄을 그룹 id를 활용해 업데이트
DeleteScheduleByGroupId : 그룹에 등록된 내 스케줄을 그룹 id를 활용해 삭제
CreateMeeting : 모임 정해진 날짜 설정
ChangeThemeMode : 테마변경(라이트 / 다크)

usecase list

위랑 똑같은데 설명 추가

concept of operation

위랑 똑같은데 목적이랑 접근방법, 목표 추가

problem statement

여긴 고려사항인데...

1. 유저가 많아질 경우

2. notification의 어려움

glossary

용어사전임

references