Este proyecto es un ejemplo de cómo crear una API con FastAPI, PostgreSQL y Docker. La API gestiona un sistema de vehículos, con soporte para diferentes modelos, y permite realizar operaciones CRUD sobre los registros en una base de datos PostgreSQL. La aplicación se ejecuta dentro de un contenedor Docker, asegurando un entorno reproducible y fácil de desplegar.
Antes de empezar, asegúrate de tener instalados los siguientes componentes:
- Docker y Docker Compose
- Python 3.9+
- Postman (opcional, para pruebas manuales)
-
Clona el repositorio:
git clone https://github.com/tu_usuario/FastAPI-with-PostgreSQL-and-Docker.git cd FastAPI-with-PostgreSQL-and-Docker -
Crea un entorno virtual e instala las dependencias de Python:
python -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate pip install -r requirements.txt
-
Configura el archivo
.envcon las variables necesarias para la conexión a la base de datos PostgreSQL y otras configuraciones del entorno.
El proyecto está configurado para ejecutarse en un contenedor Docker, lo cual facilita su despliegue en diferentes entornos. Asegúrate de que no hay ningún proceso de PostgreSQL en ejecución en tu sistema que pueda estar ocupando el puerto predeterminado (5432). Puedes verificarlo con el siguiente comando en PowerShell o en la consola de Windows:
netstat -ano | findstr :5432Para arrancar el servidor, teclea el siguiente comando:
uvicorn main:app --reload --host 0.0.0.0 --port 8000Para migrar los cambios a la base de datos, puedes usar los siguientes comandos:
alembic revision --autogenerate -m "Comentario de la migración"
alembic upgrade head