Spring Data JPA를 활용한 일정 관리 애플리케이션입니다.
- 목적: CRUD 필수 기능을 데이터베이스 연결 및 JPA를 사용해서 개발
- 핵심 기능:
- 일정 / 유저 / 댓글 CRUD
- 회원가입 / 로그인 (Cookie/Session을 활용한 인증/인가)
src
└── main
├── java
│ └── com
│ └── example
│ └── schedule
│ ├── common
│ ├── config
│ ├── controller
│ ├── dto
│ ├── entity
│ ├── exception
│ ├── filter
│ ├── repository
│ ├── service
│ └── SpringJpaScheduleApplication.java
├── resources
├── application.properties
build.gradle
README.md
schedule.sql
- 일정 생성, 조회, 수정, 삭제 기능
- 작성일, 수정일: JPA Auditing 적용
- 유저 생성, 조회, 수정, 삭제 기능
- 작성일, 수정일: JPA Auditing 적용
- 일정-유저 관계 매핑
- 유저에 비밀번호 필드 추가
- Cookie/Session을 활용한 로그인 기능
- 필터를 활용한 인증 처리
- 이메일, 비밀번호 기반 로그인
- 인증 실패 시 401 반환
- Validation 및 커스텀 예외처리 적용
- 회원가입 시 비밀번호 암호화 저장
- PasswordEncoder 활용
- 일정에 댓글 작성, 조회, 수정, 삭제 기능
- 댓글-일정, 댓글-유저 관계 설정
- JPA Auditing 적용
- Spring Data JPA의 Pageable, Page 활용한 페이징 기능
- 수정일 기준 내림차순 정렬
- Backend: Spring Framework, Spring Data JPA
- Database: MySQL
- Build Tool: Gradle




