FastAPI 기반 크롤링 및 MongoDB 연결 프로젝트입니다.
네이버 도서 API를 활용하여 도서 정보를 수집하고, MongoDB에 저장하여 관리하는 데이터 수집 프로젝트입니다.
- 백업엔드 프레임워크: FastAPI
- 비동기 데이터베이스: MongoDB + Motor (AsyncIO MongoDB Driver)
- 템플릿 렌더링: Jinja2
- 서버 실행: Uvicorn, AWS
git clone https://github.com/cyh5757/fastapi_proj.git
cd fastapi_proj
# 가상환경 생성
python -m venv .venv
# (Windows)
.venv\Scripts\activate
# (Mac/Linux)
source .venv/bin/activate
pip install -r requirements.txt
또는 uv를 설치했다면:
uv sync
MongoDB 접속 정보를 .env
파일에 작성합니다.
MONGO_URL=your_mongo_connection_string
MONGO_DB_NAME=your_database_name
uvicorn app.main:app --reload
기본적으로
localhost:8000
에서 접속할 수 있습니다.
fastapi_proj/
│
├── app/
│ ├── main.py # FastAPI 앱 실행
│ ├── config.py # 환경방법 및 설정
│ ├── book_scraper.py # 책 데이터 스크레이퍼
│ ├── models.py # 데이터 목적 정의
│ └── templates/ # HTML 템플릿 파일
│
└── requirements.txt # 패키지 목록
/
: 기본 홈 페이지 (HTML 템플릿 렌더링)/search
: 키워드를 입력받아 책 정보 검색 및 저장- MongoDB에 책 데이터 저장
.env
를 통해 설정 관리
- 80번 포트 사용 시
sudo
권한이 필요할 수 있습니다. uv
설치가 필요할 경우 uv 설치 가이드를 참고하세요.
- API 개선 및 추가
- 검색 결과 페이지링 처리
- 사용자 인증 및 권한 부여 기능