Appearance
Documentación del Sistema Bautista
Bienvenido a la documentación del sistema Bautista. Este espacio contiene toda la información técnica y funcional del proyecto, tanto para backend como frontend.
Objetivo de esta documentación
Esta documentación tiene un doble propósito:
- Documentar el sistema actual: Explicar qué funcionalidades tiene el sistema, cómo funcionan y cómo están implementadas
- Servir como requerimientos: Definir qué debe hacer el sistema antes de implementar nuevas funcionalidades
Estructura de la documentación
La documentación está organizada en tres niveles principales:
1. Core (Núcleo del sistema)
Módulos fundamentales que son la base del sistema:
core/auth/- Autenticación y autorizacióncore/config/- Configuraciones del sistema
2. Shared (Compartido)
Recursos y componentes compartidos entre módulos:
shared/general/- Utilidades y helpers generalesshared/components/- Componentes reutilizables
3. Features (Funcionalidades por módulo)
Documentación completa de funcionalidades organizadas por módulo de negocio
docs/
├── README.md # Este archivo - Índice general
├── git_workflow.md # Convenciones de uso de Git
│
├── core/ # Módulos core del sistema
│ ├── auth/ # Autenticación y autorización
│ └── config/ # Configuraciones
│
├── shared/ # Recursos compartidos
│ ├── general/ # Utilidades generales
│ └── components/ # Componentes compartidos
│
├── features/ # Funcionalidades completas
│ ├── README.md # Guía para documentar funcionalidades
│ ├── template.md # Plantilla base
│ ├── ventas/ # Módulo de ventas
│ ├── tesoreria/ # Módulo de tesorería
│ │ └── boniret-resource.md # Ejemplo: Conceptos de retenciones
│ ├── ctacte/ # Módulo de cuenta corriente
│ ├── compra/ # Módulo de compras
│ ├── contabilidad/ # Módulo de contabilidad
│ ├── stock/ # Módulo de stock
│ └── crm/ # Módulo de CRM
│
├── backend/ # Documentación técnica del backend
│ ├── README.md # Guía de arquitectura backend
│ └── modules/ # Organizado por módulo
│ ├── ventas/ # Backend ventas
│ ├── tesoreria/ # Backend tesorería
│ ├── ctacte/ # Backend cuenta corriente
│ ├── compra/ # Backend compras
│ ├── contabilidad/ # Backend contabilidad
│ ├── stock/ # Backend stock
│ └── crm/ # Backend CRM
│
├── frontend/ # Documentación técnica del frontend
│ ├── README.md # Guía de estructura frontend
│ └── modules/ # Organizado por módulo
│ ├── ventas/ # Frontend ventas
│ ├── tesoreria/ # Frontend tesorería
│ ├── ctacte/ # Frontend cuenta corriente
│ ├── compra/ # Frontend compras
│ ├── contabilidad/ # Frontend contabilidad
│ ├── stock/ # Frontend stock
│ └── crm/ # Frontend CRM
│
└── architecture/ # Arquitectura general del sistema
└── README.md # Decisiones arquitectónicasCómo usar esta documentación
Para desarrolladores nuevos
- Lee primero la Arquitectura General
- Revisa la Guía de Backend si vas a trabajar en el servidor
- Revisa la Guía de Frontend si vas a trabajar en la interfaz
- Consulta las Funcionalidades para entender qué hace cada módulo
Para documentar una nueva funcionalidad
- Lee la Guía para documentar funcionalidades
- Copia la Plantilla (ver instrucciones de uso en el archivo)
- Completa la información de backend y frontend según corresponda
- Coloca el archivo en
features/{modulo}/organizándolo por módulo - Si la funcionalidad es compartida, colócala en
shared/
Ejemplo: Para documentar un recurso en tesorería, crear:
features/tesoreria/nombre-recurso.md- Documentación completa de la funcionalidad- Ver boniret-resource.md como ejemplo
Para consultar implementaciones existentes
- Backend: Busca en
backend/modules/{modulo}/la implementación técnica del módulo - Frontend: Busca en
frontend/modules/{modulo}/las vistas y componentes - Funcionalidad completa: Busca en
features/{modulo}/la documentación integral - Core/Shared: Busca en
core/oshared/según corresponda
Módulos del sistema
El sistema está organizado en los siguientes módulos principales:
Módulos de negocio
- Ventas (
modulo-venta/): Gestión de ventas, facturación y comprobantes - Compras (
modulo-compra/): Gestión de compras y proveedores - Cuenta Corriente (
modulo-ctacte/): Gestión de cuentas corrientes de clientes - Tesorería (
modulo-tesoreria/): Gestión de cobranzas, pagos y movimientos de caja - Contabilidad (
modulo-contabilidad/): Registros contables y asientos - Stock (
modulo-stock/): Gestión de inventario - CRM (
modulo-crm/): Gestión de clientes y relaciones
Módulos transversales
- Auth: Autenticación y autorización
- Config: Configuraciones del sistema
- General: Recursos generales compartidos
- Audit Log: Auditoría de acciones del sistema
Convenciones de documentación
Nombres de archivos
- Usar kebab-case para nombres:
facturacion-electronica.md - Ser descriptivos pero concisos
- Organizar por módulo:
features/{modulo}/nombre-funcionalidad.md - Para recursos: usar sufijo
-resource.md(ej:boniret-resource.md) - Para procesos: usar sufijo
-process.md(ej:facturacion-masiva-process.md)
Estructura de documentos
Cada documento de funcionalidad debe contener:
- Descripción general: Qué hace la funcionalidad
- Frontend: Vistas, interacciones, permisos
- Backend: Recursos, endpoints, lógica de negocio, relaciones
- Reglas de negocio: Validaciones y restricciones
- Casos de uso: Ejemplos de uso común
Referencias cruzadas
Cuando un documento hace referencia a otro, usar enlaces relativos:
markdown
Ver también: [Gestión de Comprobantes](./comprobantes.md)Stack tecnológico
Backend
- Lenguaje: PHP 8+
- Framework: Custom/Slim Framework
- Base de datos: MySQL
- Autenticación: JWT
- Testing: PHPUnit
Frontend
- Framework: (Especificar según el proyecto)
- Gestión de estado: (Especificar según el proyecto)
- Comunicación: REST API
Recursos adicionales
Contribuir a la documentación
Toda documentación debe ser:
- Clara y concisa: Ir al punto sin rodeos
- Actualizada: Mantener sincronizada con el código
- Completa: Incluir toda la información necesaria para entender y usar la funcionalidad
- Ejemplos: Incluir ejemplos de uso cuando sea posible
Si agregas una nueva funcionalidad, debes documentarla antes de considerarla completa.
Última actualización: 2025-12-09