이 프로젝트는 React와 Spring Boot를 사용하여 만든 To-Do List 웹 애플리케이션입니다. 사용자는 일정을 추가, 수정, 삭제할 수 있으며, 카테고리 및 우선순위 설정, 상태 변경 등의 기능을 제공합니다.
- React
- React Router
- Bootstrap
- React DatePicker
- FullCalendar
- Spring Boot
- MyBatis
- MySQL
- Lombok
- JWT
- 일정 추가, 수정, 삭제
- 일정 상태 변경 (
PENDING→IN_PROGRESS→COMPLETED)
- FullCalendar를 이용하여 일정 표시
- 날짜 클릭 시 할 일 추가 가능
- 일정 클릭 시 상세 정보 확인 및 수정 가능
- 일정별 카테고리 선택 (예: 업무, 개인, 공부 등)
- 우선순위 설정 (
LOW,MEDIUM,HIGH)
- JWT 기반 로그인 및 회원가입 기능
- 로그인 상태 유지 (LocalStorage 활용)
- 인증되지 않은 사용자는 로그인 페이지로 리디렉트
📦 project-root
├── 📂 frontend # React 앱
│ ├── 📂 src
│ │ ├── 📂 components # UI 컴포넌트
│ │ ├── 📂 pages # 페이지 컴포넌트
│ │ ├── 📂 routes # 라우팅 설정
│ │ ├── 📂 services # API 요청
│ │ ├── 📂 styles # 스타일 파일
│ │ ├── 📂 utils # 유틸리티
│ │ ├── App.js
│ │ ├── index.js
├── 📂 backend # Spring Boot 서버
│ ├── 📂 src/main/java/com/example/todo
│ │ ├── 📂 config # 설정 파일
│ │ ├── 📂 controller # API 컨트롤러
│ │ ├── 📂 dao # 데이터베이스 접근
│ │ ├── 📂 dto # 데이터 전송 객체
│ │ ├── 📂 entity # 엔터티 클래스
│ │ ├── 📂 security # 보안 관련 설정
│ │ ├── 📂 service # 비즈니스 로직
│ │ ├── Application.java
└── README.md- Node.js 설치
- 의존성 설치
cd ToDoProject-main/src/main/resources/todo npm install - 프론트엔드 실행
npm start
- Java 17 이상 설치
- 백엔드 실행
🔹 JAR 파일이 없을 경우, 메일 첨부된 JAR 파일을 실행하세요.
cd ToDoProject-main java -jar ToDo-0.0.1-SNAPSHOT.jar
- MySQL 설치
- 데이터베이스 생성
프로젝트 폴더내에 toDB.sql 파일실행;
ToDoPage는 사용자가 할 일을 관리하는 페이지로, 할 일 목록을 보여주고 추가, 수정, 삭제할 수 있습니다.
- API 호출:
getTodos,addTodo,updateTodo,deleteTodo - 동적 목록 표시 및 수정 기능 제공
AppRoutes는 애플리케이션 내의 라우팅을 관리하는 컴포넌트입니다.
Routes와Route를 사용하여 페이지 이동을 제어- 로그인, 회원가입, 할 일 관리 페이지 등을 쉽게 탐색 가능
- 반복적인 getter, setter, toString 등의 메서드를 자동 생성하여 코드 가독성을 높이고 반복 코드를 줄이는 라이브러리입니다.
- 클라이언트-서버 간 안전한 인증 처리
- 매 요청마다 사용자 인증을 확인할 필요 없이 JWT 토큰을 이용하여 인증 수행

