- 목적: 사용자별 TODO 리스트 관리 기능 제공
- 주요 기능:
- TODO 등록
- TODO 목록 조회 (페이징)
- TODO 상태 변경
- TODO 삭제
- DB: Docker 기반 MySQL 8.4.4 사용
- 백엔드: Spring Boot 3.4.4 + JPA
- Java 21 (Temurin 21)
- Spring Boot 3.4.4
- MySQL 8.4.4 (Docker 사용)
- Gradle 빌드 시스템
-
Docker로 MySQL 실행
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306 -d mysql:8
또는 이미 실행된 경우:
docker start mysql-container
-
MySQL 접속 및 DB 생성
docker exec -it mysql-container mysql -u root -pCREATE DATABASE todolist_db;
-
Spring Boot 서버 실행
./gradlew bootRun
-
서버 접속 주소
http://localhost:8080
- URL:
POST http://localhost:8080/todo - Body (JSON):
{ "title": "오늘 할 일", "subTasks": [ { "content": "세부1" }, { "content": "세부2" } ] } - 성공 응답 예시:
{ "id": 1, "title": "오늘 할 일", "status": "진행 전" }
📸 Postman 요청 및 응답 캡처 이미지 삽입
com.todolist
├── controller
│ └── TodoController.java
├── dto
│ ├── TodoCreateRequest.java
│ ├── SubTaskRequest.java
│ └── TodoStatusRequest.java
├── entity
│ ├── Todo.java
│ ├── SubTask.java
│ ├── TodoStatus.java
│ └── SubTaskStatus.java
├── repository
│ └── TodoRepository.java
├── service
│ └── TodoService.java
└── TodolistApplication.java
src/test/java/com/todolist/TodolistApplicationTests.java파일에 테스트 코드 작성- 기능 테스트 항목:
- TODO 생성
- TODO 목록 조회
- TODO 상태 변경
- TODO 삭제
- 모든 테스트
BUILD SUCCESSFUL확인
- Docker MySQL 컨테이너 정상 실행 (
docker ps) - MySQL 접속 및
todolist_db생성 확인 (SHOW DATABASES;) - Spring Boot 서버 정상 부팅 (
Tomcat started on port 8080) - Postman API 요청 성공 (
201 Created응답)
- 로그인 기능은 선택사항이므로 제외하고 필수 TODO 기능만 구현
- 예외처리 및 유효성 검증은 Controller, Service 단에서 처리