Skip to content

Repository files navigation

NotiFi

카메라·웨어러블 없는 노인 안전 모니터링 시스템

WiFi 신호(CSI)로 낙상·호흡 이상·무활동을 감지하고,
AI 에이전트가 음성 확인부터 119 신고까지 자동으로 대응합니다.

Spring Boot Java PostgreSQL Redis Docker


시스템 흐름

ESP32-C6 × 3        AI 서버 (FastAPI)       NotiFi-Server (이 레포)      보호자 앱
─────────────   →   ──────────────────   →   ──────────────────────   →   ─────────────
WiFi CSI 수집       신호처리 · 모델 판정       이벤트 저장 · 에스컬레이션      상태 대시보드
                    낙상 / 호흡 / 무활동       FCM 알림 · 119 자동신고        응급 알림 수신

기술 스택

영역 기술
Backend Spring Boot 4.1.0, Java 21, JPA/Hibernate
Database PostgreSQL 15, Redis 7
인증 JWT (앱), API Key (AI 서버 간)
알림 Firebase Cloud Messaging (FCM)
인프라 Docker, GitHub Actions, AWS

로컬 실행

# 1. 환경 변수 설정
cp .env.example .env

# 2. 전체 실행 (앱 + DB + Redis)
docker compose up --build

# 또는 인프라만 띄우고 IntelliJ / gradlew 로 앱 실행
docker compose up -d postgres redis
./gradlew bootRun

.env 는 세 방법 모두에서 읽힙니다 — compose 는 env_file, 나머지는 application.yamlspring.config.import 를 통해서입니다.

IntelliJ 로 실행할 때는 실행 구성의 Working directory 가 프로젝트 루트여야 합니다. import 경로가 file:./.env 상대 경로라 프로세스 작업 디렉터리를 기준으로 찾습니다. 못 찾아도 에러 없이 기본값으로 떨어지므로, .env 를 고쳤는데 반영이 안 되거나 password authentication failed 가 나면 이 설정부터 확인하세요. ./gradlew bootRun 은 Gradle 이 작업 디렉터리를 프로젝트 루트로 잡아 주므로 그대로 동작합니다.

GET http://localhost:8080/actuator/health{"status":"UP"} 확인

프로젝트 구조

src/main/java/com/notifi/server/
├── domain/          # 도메인별 Entity · Repository · Service · Controller
└── global/          # 공통 응답 · 예외처리 · 인증 · 설정

경기대학교 컴퓨터공학부 · 팀 피우다(Bloom) · 2026

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages