foodwallet-server/
│
├── app/
│ ├── main.py # FastAPI 진입점
│ ├── config/
│ │ ├── __init__.py
│ │ ├── settings.py # 환경변수, 설정값 (DB_URL, API KEY)
│ │ └── logger.py # 로깅 설정
│ │
│ ├── db/
│ │ ├── __init__.py
│ │ ├── connection.py # PostgreSQL 연결
│ │ └── models/ # SQLAlchemy 모델들
│ │ ├── __init__.py
│ │ ├── user.py
│ │ ├── social_account.py
│ │ ├── sensitive.py
│ │ └── security_event.py
│ │
│ ├── schemas/ # Pydantic 스키마 (Request/Response)
│ │ ├── __init__.py
│ │ ├── user_schema.py
│ │ └── auth_schema.py
│ │
│ ├── auth/ # 인증 관련 기능 (소셜 포함)
│ │ ├── __init__.py
│ │ ├── google_auth.py
│ │ ├── kakao_auth.py
│ │ ├── apple_auth.py
│ │ └── auth_service.py # 소셜 로그인 공통 처리
│ │
│ ├── services/ # 도메인 로직
│ │ ├── __init__.py
│ │ ├── user_service.py # 유저 생성/조회/갱신
│ │ ├── sensitive_service.py # 민감정보 암호화/복호화 로직
│ │ ├── ocr_service.py # OCR 처리 기능
│ │ └── ai_food_service.py # GPT-4o 이미지 분석 기능
│ │
│ ├── controllers/ # 실제 API 라우터
│ │ ├── __init__.py
│ │ ├── auth_controller.py
│ │ ├── user_controller.py
│ │ ├── ocr_controller.py
│ │ └── ai_controller.py
│ │
│ ├── utils/ # 공용 유틸리티
│ │ ├── __init__.py
│ │ ├── encrypt.py # 민감정보 암호화
│ │ ├── jwt.py # JWT 생성/검증
│ │ ├── file_utils.py
│ │ └── image_utils.py
│ │
│ ├── migrations/ # Alembic DB 마이그레이션
│ │ ├── env.py
│ │ ├── script.py.mako
│ │ └── versions/
│ │
│ └── tests/ # 테스트 코드
│ ├── __init__.py
│ ├── test_auth.py
│ ├── test_user.py
│ └── test_ocr.py
│
├── requirements.txt # 필요한 패키지 목록
├── .env # 환경 변수 (절대 Git에 올리면 안됨)
├── .gitignore
└── README.md
-
Notifications
You must be signed in to change notification settings - Fork 0
verlnn/FoodWallet-Server
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published