Este es un repositorio de plantilla que te permite comenzar rápidamente con la creación de una aplicación web usando FastAPI y MongoDB. ya sea con docker o con un entorno virtual con pyenv y poetry
- Configuración básica de una aplicación FastAPI con MongoDB.
- Ejemplos de rutas y modelos para comenzar a construir tu API.
- Integración con Docker para un entorno de desarrollo aislado.
- Ejemplos de cómo realizar operaciones básicas con la base de datos MongoDB.
- Docker y Docker Compose instalados en tu máquina. Preferiblemente con docker desktop
- pyenv o pyenv-win
- poetry
- Clona este repositorio:
git clone https://github.com/EdwarMontano/template_fastAPI_mongodb.git
cd template_fastAPI_mongodb
- Crea un archivo .env en la raíz del proyecto con las siguientes variables:
ENVIRONMENT=
DEBUG=
STATUS_ENV=
MONGO_HOST=
MONGO_PORT=27017
MONGO_USER=
MONGO_PASS=
MONGO_DB=
MONGO_COLLECTION=
MONGO_TEST_DB=
MONGO_URL=
MONGO_URL_test=
es el modo fácil de levantar el proyecto
docker compose --profile web build
docker compose --profile web up
es el modo difícil de levantar el proyecto pero nos sirve para habilitar las opciones de debug mas fácil. recuerde instalar un motor de mongo para la bd.
pyenv versions #opcional: sirve para comprobar si la version de python que necesitamos ya se encuentra descargada
pyenv install --list #opcional: sirve para listar los versiones disponible por pyenv
pyenv install 3.10.12
poetry --version
poetry env info
poetry env use $(pyenv which python)
poetry env info # la version de python debe coincidir
poetry shell
poetry install
poetry show # dependencias instaladas == pip list
poetry add [dependecias]
🚫 🆘 Si al realizar la instalación de las dependencia se presenta un error. Elimanar el archivo poetry.lock y ejecutar el siguiente comando
poetry lock --no-update
finalmente correr el server con:
uvicorn app.main:app --reload
generar requirements:
poetry export --without-hashes --format=requirements.txt > requirements.txt