Skip to content

dotslashdashdev/dsd-fastapi-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DotSlashDash FastAPI Example

ν•„μˆ˜ μš”κ΅¬ 사항

  • Python3.9
  • Poetry
  • Docker
  • MySql

둜컬 DB μ‹€ν–‰

$ docker run -d --name mysql8-example \
  -v {둜컬 디렉터리}/data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=password! \
  -e MYSQL_DATABASE=example \ 
  -e MYSQL_USER=sample_user \
  -e MYSQL_PASSWORD='SamP!2U5er' \
  -p 3306:3306 \
  mysql:8

둜컬 DB ν…Œμ΄λΈ” 생성 및 νšŒμ› 데이터 μ„ΈνŒ…

$ cd src/scripts
$ /bin/bash init_db.sh

파이썬 개발 ν™˜κ²½

보톡 Virtualenv라고 λΆ€λ₯΄λŠ” 파이썬 가상 ν™˜κ²½μ€ 별도 κ΅¬λΆ„λœ 디렉터리에 파이썬 인터프리터λ₯Ό λ³΅μ œν•˜κ³ , activate λͺ…λ Ήμ–΄λ₯Ό μ œκ³΅ν•¨μœΌλ‘œμ¨ ν˜„μž¬ 터미널 μ„Έμ…˜λ§Œ 파이썬 버전과 μ˜μ‘΄μ„± νŒ¨ν‚€μ§€λ“€μ˜ 경둜λ₯Ό μ œν•œ(Sandbox) ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

VirtuanenvλŠ” λ§Œλ“œλŠ” κ°€μž₯ 기초적인 방법은 파이썬3에 λ‚΄μž₯된 venv λͺ¨λ“ˆμ„ μ΄μš©ν•˜λŠ” 것 μž…λ‹ˆλ‹€.
ν•˜μ§€λ§Œ 이 ν”„λ‘œμ νŠΈμ—μ„œλŠ” 더 λ‚˜μ€ μ˜μ‘΄μ„± 관리와 버전 관리(Lock)λ₯Ό μ œκ³΅ν•˜λŠ” Poetryλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

Poetry μ„€μΉ˜ν•˜κΈ° https://python-poetry.org/docs/

Poetryκ°€ μ„€μΉ˜ λ˜μ—ˆλ‹€λ©΄, 이 ν”„λ‘œμ νŠΈμ˜ μ˜μ‘΄μ„± νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•©λ‹ˆλ‹€.

$ poetry install

FastAPI μ„œλ²„ μ‹€ν–‰

# 파이썬 κ°€μƒν™˜κ²½μ΄ ν™œμ„±ν™”λ˜μ–΄ μžˆμ§€ μ•Šμ„ λ•Œ
# $ poetry shell

# μ‹€ν–‰ ν™˜κ²½μ„ κ΅¬λΆ„ν•˜λŠ” ENV_STATE ν™˜κ²½λ³€μˆ˜ μ„ μ–Έ
$ export ENV_STATE="local"

$ cd src
$ python main.py

μ„œλ²„κ°€ μ •μƒμ μœΌλ‘œ μ‹€ν–‰λ˜μ—ˆλ‹€λ©΄, http://127.0.0.1:8000/docs μ ‘μ†ν•΄μ„œ Swagger API λ¬Έμ„œκ°€ μ •μƒμ μœΌλ‘œ λ³΄μ΄λŠ” μ§€ ν™•μΈν•©λ‹ˆλ‹€.

마무리

개발 마무리 λ‹¨κ³„μ—λŠ” formatting.sh νŒŒμΌμ„ μ‹€ν–‰ν•˜μ—¬ μ½”λ“œ ν¬λ§·νŒ…μ„ μ§„ν–‰ν•©λ‹ˆλ‹€.

$ /bin/bash formatting.sh

About

DotSlashDash FastAPI Example

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •