이 저장소는 uv 패키지 관리자를 사용하여 FastAPI 실습 환경을 구축하고 학습하기 위한 프로젝트입니다.
uv는 기존 pip보다 훨씬 빠른 파이썬 패키지 관리자입니다.
PowerShell에서 아래 명령어를 실행하세요.
powershell -ExecutionPolicy ByPass -c "Invoke-RestMethod https://astral.sh/uv/install.ps1 | Invoke-Expression"프로젝트 폴더로 이동한 후 아래 단계를 진행합니다.
# 1. 프로젝트 폴더로 이동
cd my-fastapi-app
# 2. 프로젝트 초기화 (처음 생성 시에만 실행)
uv init
# 3. 의존성 동기화 및 가상환경 생성
# (기존 프로젝트를 클론한 경우 .venv가 자동으로 구성됩니다)
uv sync
# 4. 가상환경 활성화 (Windows 기준)
.venv\Scripts\activate
1. **4번(activate)을 실행했다면:** `fastapi dev main.py`라고 쳐도 됩니다.
2. **4번을 안 했다면:** 반드시 `uv run fastapi dev main.py`라고 쳐야 합니다. (이때 `uv`가 알아서 `.venv`를 찾아 사용합니다.)실습에 필요한 필수 패키지를 설치합니다.
fastapi[standard]를 설치하면 개발 서버인 uvicorn이 함께 포함되어
별도로 설치할 필요가 없습니다.
uv add "fastapi[standard]"개발용 모드로 서버를 실행합니다. 코드를 수정하고 저장하면 서버가 자동으로 재시작(Hot Reload) 됩니다.
uv run fastapi dev main.pymy-fastapi-app/ # 프로젝트 루트 (현재 있는 곳)
├── app/ # 전체 소스코드가 들어가는 폴더
│ ├── __init__.py # 이 폴더가 파이썬 패키지임을 알림 (빈 파일)
│ ├── main.py # FastAPI 앱 객체를 생성하고 서버를 실행하는 진입점
│ ├── api/ # API 경로(Route)들을 정의하는 곳
│ │ ├── __init__.py
│ │ └── v1/ # API 버전 관리 (선택 사항)
│ │ └── endpoints.py
│ ├── core/ # 공통 설정 (DB 연결 정보, 보안 설정 등)
│ ├── models/ # 데이터베이스 테이블 정의 (DB 모델)
│ └── schemas/ # 데이터 검증 및 직렬화 정의 (Pydantic 모델)
├── .env # 환경 변수 설정 (비밀번호 등)
└── pyproject.toml # (uv 사용 시) 프로젝트 설정 및 의존성 관리 파일