졸업작품 8일차

임선구·2025년 5월 17일

졸업작품

목록 보기
8/29

📅 일정 관리 웹앱 - Spring Boot + MySQL로 일정 관리 웹앱의 DB 연동과 일정 유지 기능 구현기

오늘은 일정 관리 웹 애플리케이션에서 다음과 같은 기능을 중심으로 구현 및 개선 작업을 진행했습니다.


✅ 오늘 구현한 기능

1. MySQL 연동 (Spring Boot + JPA)

  • 로컬 MySQL 설치 및 사용자 계정(calendar_user) 생성

  • 데이터베이스 calendar_db 생성 및 권한 부여

  • application.properties 설정을 통해 DB 연결 설정 완료

  • JPA + Hibernate 기반으로 자동 테이블 생성 및 관리



  • Postman으로 테스트도 완료

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) 기반 일정 저장

  • ✅ 개인별 일정 분리

  • ⏩ 카카오 로그인 연동

  • ⏩ 관리자/사용자 권한 분리 및 페이지 차별화



profile
끝까지 가면 내가 다 이겨

0개의 댓글