Simple Task Management API
개요
사용자가 할 일을 등록하고 관리할 수 있는 간단한 API를 설계하세요.
요구사항
할 일(Task) 관리
새로운 할 일 생성
할 일 목록 조회
특정 할 일 상세 조회
할 일 수정 (제목, 내용, 상태 변경)
할 일 삭제
할 일 상태
TODO
,IN_PROGRESS
,DONE
중 하나의 상태를 가짐기본값은
TODO
1. 엔드포인트 설계
새로운 할 일 생성(POST) - /tasks
할 일 목록 조회(GET) - /tasks?page={page}&size={size}
특정 할 일 상세 조회 (GET)- /tasks/{taskId}
할 일 수정 (제목, 내용, 상태 변경) (PATCH) - /tasks/{taskId}
할 일 삭제(DELETE) - /tasks/{taskId}
2. 요청/응답 설계
새로운 할 일 생성(POST) - /tasks
할 일 목록 조회(GET) - /tasks?page={page}&size={size}
특정 할 일 상세 조회 (GET)- /tasks/{taskId}
할 일 수정 (제목, 내용, 상태 변경) (PATCH) - /tasks/{taskId}
할 일 삭제(DELETE) - /tasks/{taskId}
3. DB 스키마 설계
user
id. BIGINT, PK. 유저 id
task
id. BIGINT, PK. 할일 id
user_id. BIGINT, FK, 유저 id
title. VARCHAR(255). 제목
description. TEXT. 설명
status. VARCHAR(255), Enum("TODO", "IN_PROGRESS", "DONE"). 상태
created_at. DATETIME. 생성일
modified_at. DATETIME. 수정일
4. 아키텍처 설계
API 서버(Spring Boot)
사용자 요청 처리
DB와 Redis 캐시 연동
데이터베이스 (MySQL)
사용자, 작업 정보 저장
캐시 서버 (Redis)
GET /tasks/{taskId}
와 같이 특정 작업 조회 API에 대해서만 캐싱 적용.
Last updated