Skip to content

sswu-capstoneDesign2025/backend

Repository files navigation

🧓 말벗: 음성 기반 소통 & 건강 케어 앱

이 프로젝트는 독거노인과 경계성 지능인을 위한 음성 인식 기반 소통 및 건강 알림 앱입니다.
사용자의 음성을 실시간으로 인식하여 뉴스 요청, 날씨 요청, 이야기 공유 등 의도를 파악하고,
해당 카테고리에 맞는 정보를 제공합니다.

또한 사용자 맞춤형 건강 알람 기능을 통해 특정 시간에 복약, 스트레칭, 건강 활동을 알림으로 제공합니다.


🌟 주요 기능

🎙 음성 인식 기반 서비스

사용자의 음성을 텍스트로 변환하고, 이를 분류하여 해당 요청을 처리합니다.

예:

  • "오늘 날씨 어때?"날씨 요청
  • "요즘 정치 뉴스 알려줘"뉴스 요청
  • "오늘 이런 일이 있었어"이야기

📰 뉴스 응답

  • 사용자의 키워드를 기반으로 실시간 뉴스를 크롤링
  • 뉴스 내용을 간단한 요약문으로 응답

☁️ 날씨 응답

  • 사용자의 현재 지역에 기반한 기상청 또는 포털 날씨 데이터 크롤링

🗣️ 이야기 공유

  • 사용자가 자신의 이야기를 저장할 수 있으며
  • 타 사용자의 이야기를 무작위 응답으로 제공

⏰ 건강 알림

  • 사용자 입력 기반: 나이, 성별, 관심 질환
  • 정해진 시간마다 복약, 운동, 건강 알림 전송
  • Flutter 앱과 FastAPI 백엔드 간 연동

🧩 기술 스택

기술 설명
FastAPI 백엔드 서버, API 및 라우팅
Flutter 프론트엔드 앱 구현
SQLite 로컬 데이터 저장소
BeautifulSoup 뉴스/날씨 웹 크롤링
Pydantic 데이터 모델 유효성 검사
Flutter Local Notifications 로컬 푸시 알림 구현
TTS / STT API 음성 ↔ 텍스트 처리 (Kakao 등)
GitHub Actions (예정) CI/CD 자동화 구축 예정

📁 디렉토리 구조

backend/

├── best_model/ # 음성 분류 모델 파일

├── crawling/ # 뉴스/날씨 크롤링 모듈

├── data/ # 테스트 및 저장용 샘플 데이터

├── routers/ # FastAPI 라우터 (음성, 뉴스, 날씨, 알람 등)

├── static/profile_images/ # 사용자 프로필 이미지 저장 폴더

├── utils/ # 전처리 및 분류 유틸리티 함수 모음

├── main.py # FastAPI 애플리케이션 진입점

├── models.py # SQLAlchemy ORM 모델 정의

├── database.py # DB 연결, 세션 관리

├── requirements.txt # Python 패키지 명세

└── README.md # 프로젝트 설명서


🧪 주요 파일 설명

파일 설명
main.py FastAPI 서버 실행부
models.py 사용자, 알람, 이야기 저장용 ORM 모델
database.py DB 연결, 세션 구성
routers/ 기능별 API 라우터 (/news, /weather, /story, /alarm 등)
utils/ 전처리, 의도 분류 모델 처리 등 유틸리티
crawling/ BeautifulSoup 기반 뉴스/날씨 데이터 수집 모듈

🚀 실행 방법

# 패키지 설치
pip install -r requirements.txt

# FastAPI 서버 실행
uvicorn main:app --reload

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages