Skip to content

Repository files navigation

🌌 NOGOROK: 당신의 스트레스 관리 & AI 웰빙 도우미

🌟 프로젝트 소개

NOGOROK은 본 프로젝트는 갤럭시 워치의 실시간 심박 기반 스트레스 지수와 구글 캘린더 일정을 통합 분석하여, 사용자 상태에 맞는 휴식 콘텐츠를 자동 추천하는 AI 웰빙 서비스이다.

"버튼 한 번으로 개인 맞춤형 시나리오형 휴식 루틴을 제안한다."

image image image image

⚙️ 기술 스택 (Tech Stack)

구분 기술 스택 버전 역할 및 사용 목적
백엔드 코어 Spring Boot 3.4.3 (Java 17) REST API 개발 및 애플리케이션 프레임워크 제공
Spring Data JPA 3.4.3 데이터베이스(MySQL)와의 객체-관계 매핑(ORM) 및 데이터 접근 관리
Spring Security 3.4.3 인증 및 인가 처리, OAuth2 클라이언트 기능 지원
인증/보안 OAuth2 Client 3.4.3 Google 캘린더 등 외부 서비스 연동 및 사용자 인증 처리
JWT (jjwt) 0.11.5 토큰 기반 인증 구현 (로그인 상태 유지 및 API 접근 제어)
Firebase Admin 9.2.0 푸시 알림 (FCM) 전송 및 사용자 관리 지원
데이터베이스 MySQL 8.0 사용자, 일정, 콘텐츠, 스트레스 지수 등 데이터 저장
외부 API 연동 Google Calendar API v3-rev20220715 사용자 캘린더 일정 동기화 및 분석
Google Maps Services 0.18.0 위치 기반 서비스(LBS) 또는 일정의 지리 정보 처리
Selenium HQ + Jsoup 4.10.0 / 1.17.2 웹 스크래핑 자동화 및 HTML 파싱
개발 도구 Lombok - 반복적인 자바 코드(Getter, Setter 등) 자동 생성
Springdoc OpenAPI 2.7.0 API 명세 자동화 (Swagger UI)
인프라 AWS EC2, Docker, Nginx - 서버 호스팅, 컨테이너 환경 구축, 리버스 프록시

🏗️ 아키텍쳐

image

📄 ERD 다이어그램

nn


📜 백엔드 명명 규칙

항목 명명 규칙 예시
클래스/인터페이스 파스칼 케이스 (PascalCase) UserService, ContentRecommender, StressData
메서드/변수 카멜 케이스 (camelCase) calculateStressIndex, getUserSchedule
상수 (Constants) 대문자 스네이크 케이스 (UPPER_SNAKE_CASE) ALWAYS, NEVER, MODERATE

📂 파일 구조

src/main/java/com/example/Easeplan
├── api                                    # [도메인 모듈] 기능 단위 서비스
│   ├── Calendar                            # Google Calendar 연동 및 OAuth
│   │   ├── config
│   │   ├── controller
│   │   ├── domain
│   │   ├── dto
│   │   ├── repository
│   │   └── service
│   ├── Emergency                           # 긴급 스트레스 감지 / 휴식 추천
│   ├── Fcm                                 # Firebase Cloud Messaging 기반 알림 시스템
│   ├── HaruRecord                          # 하루 평가 기록 (감정/날씨/피로도)
│   ├── MainPage                            # 메인 홈 / 퀴즈 / 크롤링
│   ├── Mypage                              # 사용자 정보 페이지
│   ├── Recommend                           # 휴식/공연 추천 엔진
│   │   ├── Event                           # 외부 문화 행사 API 조회
│   │   └── Long                            # 장기 일정 기반 맞춤 추천
│   ├── Report                              # 사용자 리포트 생성
│   ├── ShortFlask                          # Flask 기반 단기 추천 엔진
│   ├── SmartWatch                          # 웨어러블 데이터 수집
│   ├── Survey                              # 설문조사
│   └── test                                # 테스트용 컨트롤러
│
├── global                                  # 전역 설정 / 보안 / JWT / 예외 처리
│   ├── config
│   ├── exception
│   ├── jwt
│   ├── util
│   └── ...
│
├── resources                               # 설정 & 템플릿
│   ├── application.yml
│   ├── templates
│   └── static
│
└── EaseplanApplication.java                # Spring Boot 시작점

About

2025 덕성여자대학교 IT미디어공학전공 졸업프로젝트 노고록 백엔드

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages