Skip to content

Shadowfit/init

Repository files navigation

ShadowFit — 통합 개발 레포

React Native · Spring Boot · FastAPI 세 서비스를 한 곳에서 같이 개발하기 위한 모노레포입니다. gRPC 프로토(*.proto) 변경처럼 여러 서비스에 걸친 작업을 한 커밋/PR로 다루기 위해 이 구조를 씁니다.

제품 소개·핵심 기능·아키텍처는 조직 프로필을 참고하세요. 이 문서는 이 레포를 어떻게 실행하고 개발하는지만 다룹니다.


빠른 시작

git clone https://github.com/SMU-2026-1-capstone-project/init.git
cd init
cp .env.example .env   # 값 채우기
docker compose up -d   # mysql + backend + ai-server 전부 기동

프론트엔드는 별도로 frontend/에서 npx expo start. 전체 순서(사전 설치 포함)는 docs/14-how-to-run.md 참고.


폴더 구조

폴더 내용
frontend/ React Native(Expo) 앱
backend/ Spring Boot API 서버
ai-server/ FastAPI 자세 분석 서버
mysql/ 초기 스키마·시드(schema.sql, data.sql)
docs/ 설계·운영 문서 (API, DB, 아키텍처, 트러블슈팅 등)
loadtest/ 부하 테스트 스크립트 (ghz, seed 스크립트)
postman/ API 테스트용 Postman 컬렉션

전체 구조는 docs/02-folder-structure.md에 더 자세히 있습니다.


파트별 안내

📱 Frontend — frontend/

React Native(Expo) 클라이언트. 화면, 카메라 촬영, TTS 재생을 담당합니다.

cd frontend
npm install
npx expo start

⚙️ Backend — backend/

Spring Boot API 서버. 회원·인증(JWT)·세션 라이프사이클·리포트·gRPC 연동을 담당합니다.

cd backend
./gradlew bootRun

🤖 AI Server — ai-server/

FastAPI 서버. MediaPipe로 관절 좌표를 추출하고 DTW로 기준 동작과 비교합니다.

cd ai-server
pip install -r requirements.txt
uvicorn app.main:app --reload

서비스 간 연동

Backend ↔ AI Server는 gRPC로 통신합니다. 스키마는 양쪽에 각각 있는 exercise.proto이며, 하나를 고치면 양쪽 다 수동으로 동기화해야 합니다. 결합 구조 상세는 docs/architecture/ 참고.

frontend --(REST)--> backend --(gRPC)--> ai-server
                ^                            |
                └──────── (gRPC callback) ───┘
frontend --(HTTP, 카메라 프레임)--> ai-server

더 읽을 문서

문서 내용
docs/14-how-to-run.md 처음 세팅부터 실행까지 전체 가이드
docs/13-docker-setup.md Docker Compose 구성
docs/07-api-design.md REST API 설계
docs/05-database-design.md DB 스키마
docs/architecture/ AI↔Backend 결합 구조
docs/18-testing-guide.md 테스트 가이드
docs/17-error-codes.md 에러 코드

About

통합 레포지토리(Front+Backend+AI)

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors