Initial commit: Horux Backend API
- API REST para gestion de facturas electronicas mexicanas (CFDI) - Laravel 9 con autenticacion OAuth 2.0 (Passport) - Integracion con Syntage, Clerk y Facturama - 30 modelos Eloquent, 39 controladores - Documentacion completa en /docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
173
README.md
Normal file
173
README.md
Normal file
@@ -0,0 +1,173 @@
|
||||
# Horux Backend API
|
||||
|
||||
API REST Backend especializada en gestión de facturas electrónicas mexicanas (CFDI).
|
||||
|
||||
## Descripcion
|
||||
|
||||
Horux es una plataforma de gestión fiscal que permite a los usuarios:
|
||||
- Gestionar y consultar facturas electrónicas (CFDI) emitidas y recibidas
|
||||
- Realizar conciliaciones de facturas
|
||||
- Obtener metricas financieras y analisis de rentabilidad
|
||||
- Consultar informacion de contribuyentes y riesgos fiscales
|
||||
- Importar facturas masivamente desde archivos Excel
|
||||
|
||||
## Tecnologias
|
||||
|
||||
| Tecnologia | Version | Proposito |
|
||||
|------------|---------|-----------|
|
||||
| PHP | 8.0.2+ | Lenguaje principal |
|
||||
| Laravel | 9.19 | Framework backend |
|
||||
| MySQL | 5.7+ | Base de datos |
|
||||
| Laravel Passport | 11.0 | Autenticacion OAuth 2.0 |
|
||||
| Maatwebsite Excel | 3.1 | Importacion de Excel |
|
||||
| Vite | 4.0 | Build de assets |
|
||||
|
||||
## Integraciones Externas
|
||||
|
||||
- **Syntage API** - Obtencion de facturas y datos fiscales del SAT
|
||||
- **Clerk** - Autenticacion social OAuth 2.0
|
||||
- **Facturama** - Generacion y timbrado de CFDIs
|
||||
|
||||
## Estructura del Proyecto
|
||||
|
||||
```
|
||||
Horux_back/
|
||||
├── app/
|
||||
│ ├── Console/ # Comandos Artisan
|
||||
│ ├── Exceptions/ # Manejo de excepciones
|
||||
│ ├── Http/
|
||||
│ │ ├── Controllers/ # 39 controladores
|
||||
│ │ ├── Middleware/ # Middleware personalizado
|
||||
│ │ └── Kernel.php
|
||||
│ ├── Imports/ # Importadores Excel
|
||||
│ ├── Models/ # 30 modelos Eloquent
|
||||
│ ├── Providers/ # Service Providers
|
||||
│ └── Services/ # Servicios de negocio
|
||||
├── bootstrap/ # Inicializacion
|
||||
├── config/ # Configuracion
|
||||
├── database/
|
||||
│ ├── migrations/ # 41 migraciones
|
||||
│ ├── seeders/ # Seeders
|
||||
│ └── factories/ # Model factories
|
||||
├── docs/ # Documentacion
|
||||
├── public/ # Punto de entrada web
|
||||
├── resources/ # Vistas y assets
|
||||
├── routes/
|
||||
│ ├── api.php # Rutas API (54+ endpoints)
|
||||
│ └── web.php # Rutas web
|
||||
├── storage/ # Almacenamiento
|
||||
├── tests/ # Tests PHPUnit
|
||||
└── vendor/ # Dependencias
|
||||
```
|
||||
|
||||
## Instalacion Rapida
|
||||
|
||||
```bash
|
||||
# Clonar repositorio
|
||||
git clone <url-repositorio>
|
||||
cd Horux_back
|
||||
|
||||
# Instalar dependencias PHP
|
||||
composer install
|
||||
|
||||
# Instalar dependencias NPM
|
||||
npm install
|
||||
|
||||
# Configurar entorno
|
||||
cp .env.example .env
|
||||
php artisan key:generate
|
||||
|
||||
# Configurar base de datos en .env
|
||||
# DB_DATABASE=horux360bd
|
||||
# DB_USERNAME=tu_usuario
|
||||
# DB_PASSWORD=tu_password
|
||||
|
||||
# Ejecutar migraciones
|
||||
php artisan migrate
|
||||
|
||||
# Configurar Passport
|
||||
php artisan passport:install
|
||||
|
||||
# Iniciar servidor
|
||||
php artisan serve
|
||||
```
|
||||
|
||||
## Documentacion
|
||||
|
||||
- [Guia de Instalacion](docs/INSTALLATION.md)
|
||||
- [Documentacion de API](docs/API.md)
|
||||
- [Modelos y Base de Datos](docs/MODELS.md)
|
||||
- [Arquitectura](docs/ARCHITECTURE.md)
|
||||
|
||||
## Endpoints Principales
|
||||
|
||||
### Autenticacion
|
||||
| Metodo | Endpoint | Descripcion |
|
||||
|--------|----------|-------------|
|
||||
| POST | `/api/auth` | Autenticacion con Clerk |
|
||||
|
||||
### Facturas
|
||||
| Metodo | Endpoint | Descripcion |
|
||||
|--------|----------|-------------|
|
||||
| GET | `/api/obtener-facturas` | Obtener todas las facturas |
|
||||
| GET | `/api/facturas-emitidas` | Facturas emitidas |
|
||||
| GET | `/api/facturas-recibidas` | Facturas recibidas |
|
||||
| POST | `/api/conciliar-facturas` | Conciliar facturas |
|
||||
| GET | `/api/descargar-factura` | Descargar CFDI |
|
||||
|
||||
### Metricas
|
||||
| Metodo | Endpoint | Descripcion |
|
||||
|--------|----------|-------------|
|
||||
| GET | `/api/obtener-metricas` | Metricas globales |
|
||||
| GET | `/api/obtener-metricas-mensuales` | Metricas por mes |
|
||||
| GET | `/api/ivaAFavor` | IVA a favor |
|
||||
|
||||
Ver documentacion completa en [docs/API.md](docs/API.md)
|
||||
|
||||
## Modelos Principales
|
||||
|
||||
- **User** - Usuarios del sistema
|
||||
- **Rfc** - RFCs asociados a usuarios
|
||||
- **Invoice** - Facturas electronicas
|
||||
- **InvoiceLine** - Lineas/conceptos de facturas
|
||||
- **InvoicePayment** - Pagos de facturas (PPD)
|
||||
- **Taxpayer** - Informacion de contribuyentes
|
||||
|
||||
Ver documentacion completa en [docs/MODELS.md](docs/MODELS.md)
|
||||
|
||||
## Requisitos del Sistema
|
||||
|
||||
- PHP >= 8.0.2
|
||||
- Composer >= 2.0
|
||||
- MySQL >= 5.7 o MariaDB >= 10.3
|
||||
- Node.js >= 16.0
|
||||
- NPM >= 8.0
|
||||
|
||||
## Variables de Entorno Requeridas
|
||||
|
||||
```env
|
||||
APP_NAME=Horux
|
||||
APP_ENV=production
|
||||
APP_KEY=
|
||||
APP_DEBUG=false
|
||||
APP_URL=https://tu-dominio.com
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=horux360bd
|
||||
DB_USERNAME=
|
||||
DB_PASSWORD=
|
||||
|
||||
# Passport OAuth
|
||||
PASSPORT_CLIENT_ID=
|
||||
PASSPORT_CLIENT_SECRET=
|
||||
```
|
||||
|
||||
## Licencia
|
||||
|
||||
Proyecto propietario - Todos los derechos reservados.
|
||||
|
||||
## Contacto
|
||||
|
||||
Para soporte tecnico o consultas sobre el proyecto.
|
||||
Reference in New Issue
Block a user