목록으로

할 일 관리 앱을 간략히 기획하기

시리즈, 입문
2024. 11. 13. PM 2:44:13

ToDo 앱 기획하기

우리는 앞으로 7회에 걸쳐 할 일 관리 서비스의 애플리케이션 서버를 구현할 거예요. 구현할 기능을 간략히 살펴볼까요?
  • 로그인, 로그아웃
  • 할 일 생성
  • 할 일 목록
  • 할 일 검색
  • 할 일 상태 변경
  • 파일 첨부
기능이 단촐하죠? 기본이 되는 기능만 추렸어요.

계정 모델링

이용자 계정은 계정명과 비밀번호만 다루고, 나머지는 전부 부가정보, 즉 Optional data로 다룰게요.
  • 계정명(username)
  • 비밀번호(password)
다만, 직접 회원가입 방식은 아니고, 소셜 로그인(Single Sign On) 방식으로 계정을 생성하고, 로그인 방식으로 구현할 거예요.

할 일 모델링

개별 할 일(ToDo)의 데이터는 다음과 같이 모델링 했어요.
  • 소유자(user)
  • 이름(name)
  • 설명(description)
  • 생성일시(created_at)
  • 갱신일시(updated_at)
  • 마감일시(duedate_at)
  • 완료일시(completed_at)
  • 취소일시(cancelled_at)
  • 태그(tags)
  • 소속 할 일 그룹(group)
각 각은 상태(Status) 정보를 별도 필드로 다루진 않고, 일시 정보로 상태를 판단할 거예요. 가령, 완료일시가 있으면 완료한 일, 취소일시가 있으면 취소한 일로 간주하는 거죠.
태그는 문자열을 담은 배열로 다루는데, 데이터베이스로는 JSON 자료형 열(Column)로 저장해요.

할 일 그룹 모델링

할 일은 그룹으로 묶을 수 있어요. 이 프로젝트에서는 구분 짓는 역할만 할 거니 그룹 이름만 저장할게요.
  • 이름(name)
할 일 여러 개가 그룹 하나에 속하는 1 대 다수(1:N) 관계이므로, 어느 그룹에 속하는지 정보는 할 일 모델에 “소속 할 일 그룹”으로 관리해요.

첨부 파일 모델링

마지막으로 첨부한 파일 정보를 다루는 모델이예요. 할 일 하나에 파일을 여러 개 첨부할 수 있으니 첨부 파일이 할 일을 향한 다 대 일(N:1)로 기획했어요.
  • 소유자(user)
  • 소속 할 일(todo)
  • 파일 정보(file)
토이스토리 2기 모집 중!
푸딩캠프 뉴스레터를 구독하면 학습과 성장, 기술에 관해 요약된 컨텐츠를 매주 편하게 받아보실 수 있습니다.
목차