Este proyecto utiliza el enfoque de Desarrollo Orientado al Dominio (DDD) para estructurar y organizar el código que permite gestionar productos, usuarios, órdenes y generar reportes básicos. Primero vas a encontrar instrucciones para poner el proyecto en funcionamiento.
Este documento proporciona una guía paso a paso para arrancar y ejecutar el proyecto.
Asegúrate de tener instalados los siguientes programas en tu sistema:
- Docker - Puedes descargarlo e instalarlo desde aquí.
- Docker Compose - Normalmente viene incluido con la instalación de Docker.
Construye las imágenes de Docker especificadas en el archivo docker-compose.yml:
docker compose buildInicia los servicios definidos en el archivo docker-compose.yml:
docker compose upEste paso tambien sirve para ejecutar el paso 1 y 2 al mismo tiempo al momento de querer iniciar el archivo docker-compose.yml, creará los
docker-compose up -d --buildEste comando levantará los contenedores de la aplicación web, el manejador pgadmin y Postgresql. Sin embargo, se recomienda realizar los comandos por separado por mayor control de las cosas.
- La aplicación web estará disponible en http://localhost:8000
- El manejador pgadmin estará disponible en http://localhost:5050
Ingresar a la siguiente direccion http://localhost:5050 para poder autenticarse y acceder a la bd creada
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: rootEl nombre que coloque es a su criterio
Una vez se registre un servidor, se colocaran las credenciales, de preferencia dejar por defecto el nombre de la base de datos que ya aparece por defecto que es "postgres" o crear un conexion para cada bd. (En caso de decidir una sola conexion) Una vez haya cargado dele click a todas las bd para activarla y evitar errores (proyecto_fastapi y proyecto_fastapi_test)
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: proyecto_fastapi
HOST: db
PORT: 5432Una vez este el docker levantado, desde el contenedor web se ejecutará el siguiente comando para ver el funcionamiento de la pruebas.
docker-compose exec web pytest -vEn caso de que quiera crear alguna migracion por una modificacion, use el siguiente comando
docker-compose exec web alembic revision --autogenerate -m "Example model"Para aplicar las migraciones use alguno de los siguientes comandos Para correr todas las migraciones
docker-compose exec web alembic upgrade heads
Para correr la ultima migración o de un id en especifico
docker-compose exec web alembic upgrade head
docker-compose exec web alembic upgrade id_migracionUna vez que los contenedores estén en funcionamiento, puedes probar la aplicación utilizando un navegador web o herramientas como curl o Postman, o directamente con Swagger, que viene integrado en la aplicación, este último lo revisas en la dirección:
http://localhost:8000/docsTendrán disponible apenas corra la aplicacion un usuario (superadmin) default que permitira crear usuario de todo tipo y con ello pobrar la funcionalidad de cada endpoint
Username: superadmin
Password: ContraSupAdmin123





