Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FastAPI

Estructura del proyecto

Este proyecto sigue una arquitectura modular en FastAPI, separando responsabilidades en capas como rutas, configuración, acceso a datos, modelos, esquemas, repositorios y servicios.

api_retail/
├─ app/
│  ├─ __init__.py
│  ├─ main.py
│  ├─ api/
│  │  ├─ __init__.py
│  │  └─ v1/
│  │     ├─ __init__.py
│  │     └─ routers/
│  │        ├─ __init__.py
│  │        ├─ health.py
│  │        ├─ customers.py
│  │        ├─ products.py
│  │        ├─ orders.py
│  │        └─ metrics.py
│  ├─ core/
│  │  ├─ __init__.py
│  │  ├─ config.py
│  │  └─ logging.py
│  ├─ db/
│  │  ├─ __init__.py
│  │  ├─ base.py
│  │  └─ session.py
│  ├─ models/
│  │  ├─ __init__.py
│  │  ├─ customer.py
│  │  ├─ department.py
│  │  ├─ category.py
│  │  ├─ product.py
│  │  ├─ order.py
│  │  └─ order_item.py
│  ├─ schemas/
│  │  ├─ __init__.py
│  │  ├─ common.py
│  │  ├─ customer.py
│  │  ├─ product.py
│  │  ├─ order.py
│  │  └─ metrics.py
│  ├─ repositories/
│  │  ├─ __init__.py
│  │  ├─ customers.py
│  │  ├─ products.py
│  │  ├─ orders.py
│  │  └─ metrics.py
│  └─ services/
│     ├─ __init__.py
│     ├─ customers.py
│     ├─ products.py
│     ├─ orders.py
│     └─ metrics.py
├─ .env.example
├─ requirements.txt
└─ README.md

Descripción de la estructura

app/
Contiene el código fuente principal de la aplicación.
• main.py: punto de entrada de la aplicación FastAPI.
init.py: marca el directorio como paquete Python.

app/api/
Agrupa las versiones de la API y sus rutas.

app/api/v1/routers/
Contiene los endpoints organizados por dominio funcional.
• health.py: rutas de verificación del estado de la API.
• customers.py: endpoints relacionados con clientes.
• products.py: endpoints relacionados con productos.
• orders.py: endpoints relacionados con pedidos.
• metrics.py: endpoints para métricas e indicadores del negocio.

app/core/

Contiene configuraciones globales y componentes transversales.
• config.py: variables de configuración de la aplicación.
• logging.py: configuración de logs y trazabilidad.

app/db/
Gestiona la conexión y configuración de la base de datos.
• base.py: definición base para los modelos ORM.
• session.py: creación y gestión de sesiones de base de datos.

app/models/
Define las entidades del sistema usando ORM.
• customer.py: modelo de clientes.
• department.py: modelo de departamentos.
• category.py: modelo de categorías.
• product.py: modelo de productos.
• order.py: modelo de pedidos.
• order_item.py: modelo de detalle de pedidos.

app/schemas/
Contiene los esquemas de validación y serialización con Pydantic.
• common.py: esquemas compartidos o utilitarios.
• customer.py: esquemas para clientes.
• product.py: esquemas para productos.
• order.py: esquemas para pedidos.
• metrics.py: esquemas para métricas.

app/repositories/

Implementa la capa de acceso a datos.
• customers.py: consultas y operaciones de clientes.
• products.py: consultas y operaciones de productos.
• orders.py: consultas y operaciones de pedidos.
• metrics.py: consultas para métricas del negocio.

app/services/
Contiene la lógica de negocio de la aplicación.
• customers.py: reglas de negocio para clientes.
• products.py: reglas de negocio para productos.
• orders.py: reglas de negocio para pedidos.
• metrics.py: lógica para el cálculo de métricas.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages