오늘은 일정 관리 웹 애플리케이션에서 다음과 같은 기능을 중심으로 구현 및 개선 작업을 진행했습니다.
1. MySQL 연동 (Spring Boot + JPA)
로컬 MySQL 설치 및 사용자 계정(calendar_user) 생성
데이터베이스 calendar_db 생성 및 권한 부여
application.properties 설정을 통해 DB 연결 설정 완료
JPA + Hibernate 기반으로 자동 테이블 생성 및 관리



2. 일정 엔티티(Entity) 구현
Event.java: 일정 정보를 담는 엔티티
@Entity, @Id, @GeneratedValue 등 JPA 어노테이션 사용EventRepository.java: JpaRepository를 상속받아 CRUD 기능 자동 제공
3. 프론트 연동 + DB 저장 기능 연결
프론트 캘린더에서 일정을 추가하면 → 백엔드 API 호출 → DB에 저장되는 흐름 완성
API 주소: POST /api/events
새로고침 시 DB에서 일정 불러와 달력에 렌더링 (GET /api/events 연동)
4. 웹페이지 새로고침해도 일정이 사라지지 않도록 개선

기존엔 새로고침하면 일정이 초기화됐으나, 이제는 DB에서 다시 불러와 표시되도록 개선 완료
사용자 입장에서 신뢰할 수 있는 일정 유지 UX 확보
5. 일정 등록 시 색상 범례(legend) 실시간 반영
일정 추가 시 페이지 새로고침 없이 바로 범례 하단에 나타나도록 처리
유저 피드백에 실시간 반영되도록 UX 개선
6. 일정 삭제 시에도 범례 실시간 반영
Spring Boot 기반의 RESTful API 설계 경험
JPA & Hibernate를 사용한 실전형 DB 연동 구조 구현 경험
JSON 기반 프론트-백 통신(fetch API) 연동 직접 경험
일정 등록/삭제/조회에 따른 프론트 UI 실시간 반영 처리
새로고침 시에도 DB에서 데이터 복원 → 데이터 일관성 유지 처리 경험
백엔드: Java 21, Spring Boot 3.4.5, JPA, MySQL 8
프론트엔드: HTML, CSS, JavaScript, moment.js
기타: IntelliJ, GitHub, Gradle
✅ 사용자 인증(JWT) 기반 일정 저장
✅ 개인별 일정 분리
⏩ 카카오 로그인 연동
⏩ 관리자/사용자 권한 분리 및 페이지 차별화



