Sistema de gestión contable desarrollado en Laravel 12 para la administración de clientes, contadores, plantillas de cuentas, tasas de cambio BCV, ingresos, generación de informes y estados financieros.
- Clientes: Registro y administración de clientes con plantilla de cuentas contables asociada
- Contadores: Gestión de contadores públicos con datos profesionales (CPC, logo, ubicación)
- Plantillas de Cuentas: Catálogos de cuentas contables reutilizables con importación/exportación Excel
- Tasas BCV: Administración de tasas de cambio oficiales del Banco Central de Venezuela con importación masiva y verificación
- Categorías de Ingresos: Clasificación personalizable de tipos de ingresos
- Ingresos: Registro, duplicado y gestión de ingresos por cliente con categorías
- Informes: Generación de informes históricos con parámetros configurables (moneda, tipo de aseguramiento, destinatario, etc.)
- Estados Financieros: Creación y descarga en PDF de estados financieros
- Patrimonio: Gestión de patrimonio del cliente con importación/exportación de plantillas Excel
- Autenticación basada en sesiones (Login/Logout)
- Protección de rutas mediante middleware
auth - Gestión de usuarios en panel de seguridad
| Componente | Versión |
|---|---|
| PHP | ^8.2 |
| Laravel Framework | ^12.0 |
| Livewire | ^4.3 |
| Tailwind CSS | ^4.0 |
| Vite | ^7.0 |
| Alpine.js | ^3.16 |
| DomPDF (PDF) | ^3.1 |
| PhpSpreadsheet (Excel) | ^5.9 |
| SQLite (dev) / MySQL/PostgreSQL (prod) | - |
- PHP 8.2+
- Composer
- Node.js 18+ y npm
- SQLite (desarrollo) o MySQL/PostgreSQL (producción)
# 1. Clonar repositorio
git clone https://github.com/edwards1978/sic.git
cd sic
# 2. Instalar dependencias PHP
composer install
# 3. Configurar entorno
cp .env.example .env
php artisan key:generate
# 4. Configurar base de datos en .env
# Para desarrollo (SQLite - por defecto):
# DB_CONNECTION=sqlite
# Para producción (MySQL):
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=sic
# DB_USERNAME=root
# DB_PASSWORD=
# 5. Ejecutar migraciones y seeders (ver [DATABASE_SETUP.md](DATABASE_SETUP.md) para detalles)
php artisan migrate --force --seed
# 6. Instalar dependencias frontend y compilar assets
npm install
npm run build
# 7. Iniciar servidor de desarrollo
php artisan serve📖 Documentación completa de base de datos: Ver DATABASE_SETUP.md para detalles sobre migraciones, seeders, estructura de tablas, usuario admin por defecto y plantillas de cuentas incluidas.
# Desarrollo completo (servidor + queue + logs + vite)
composer dev
# Solo tests
composer test
# Limpiar caché y optimizar
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cachesic/
├── app/
│ ├── Http/Controllers/Web/ # Controladores web organizados por módulo
│ ├── Livewire/ # Componentes Livewire (UI reactiva)
│ ├── Models/ # Modelos Eloquent
│ ├── Services/ # Lógica de negocio (Excel, PDF, BCV, etc.)
│ └── Observers/ # Observadores de modelos
├── config/ # Archivos de configuración Laravel
├── database/
│ ├── migrations/ # Migraciones de base de datos
│ └── seeders/ # Seeders para datos iniciales
├── resources/
│ ├── views/ # Vistas Blade + componentes Livewire
│ ├── js/ # JavaScript (Vite + Alpine.js)
│ └── css/ # Estilos (Tailwind CSS)
├── routes/
│ ├── web.php # Rutas web principales
│ └── console.php # Comandos Artisan personalizados
├── public/ # Assets compilados y entry point
├── tests/ # Tests Unit y Feature (Pest/PHPUnit)
└── bootstrap/ # Archivos de arranque Laravel
| Variable | Descripción | Ejemplo |
|---|---|---|
APP_NAME |
Nombre de la aplicación | SIC |
APP_ENV |
Entorno (local, production) |
local |
APP_KEY |
Clave de encriptación (generar con php artisan key:generate) |
base64:... |
APP_DEBUG |
Modo debug | true / false |
APP_URL |
URL base de la aplicación | http://localhost:8000 |
DB_CONNECTION |
Driver de base de datos | sqlite / mysql / pgsql |
SESSION_DRIVER |
Driver de sesiones | database |
QUEUE_CONNECTION |
Driver de colas | database |
MAIL_MAILER |
Driver de correo | log / smtp |
| Módulo | Prefijo | Rutas Clave |
|---|---|---|
| Dashboard | /dashboard |
Vista principal post-login |
| Clientes | /clientes |
CRUD completo |
| Contadores | /contadores |
CRUD + logo |
| Plantillas | /plantillas |
CRUD + cuentas + import/export Excel |
| Tasas BCV | /tasas |
CRUD + importar + verificar |
| Ingresos | /ingresos |
CRUD + categorías + duplicar |
| Informes | /informes |
Generar + historial + reimprimir |
| Estados Financieros | /estados-financieros |
Crear + PDF |
| Patrimonio | /patrimonio |
Gestión + plantilla + importar |
| Seguridad | /seguridad/usuarios |
Gestión de usuarios |
# Ejecutar todos los tests
composer test
# O directamente con Artisan
php artisan test
# Tests con coverage (requiere Xdebug/PCOV)
php artisan test --coverage-
APP_ENV=production -
APP_DEBUG=false -
APP_KEYgenerada y segura - Base de datos configurada (MySQL/PostgreSQL)
-
DB_*variables configuradas -
SESSION_DRIVER=databaseoredis -
QUEUE_CONNECTION=databaseoredis -
CACHE_STORE=databaseoredis -
MAIL_MAILER=smtpcon credenciales reales -
FILESYSTEM_DISK=s3o similar para archivos - Ejecutar
php artisan optimize(config, route, view cache) - Configurar supervisor para
queue:work - Configurar nginx/Apache con document root en
public/ - Habilitar HTTPS
- Configurar backups de base de datos
# Cache de configuración, rutas y vistas
php artisan config:cache
php artisan route:cache
php artisan view:cache
# Optimizar autoloader Composer
composer install --optimize-autoloader --no-dev- Fork del repositorio
- Crear rama feature (
git checkout -b feature/nueva-funcionalidad) - Commit cambios (
git commit -m 'feat: descripción del cambio') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abrir Pull Request
Este proyecto es software propietario. Todos los derechos reservados.
Para reportar bugs o solicitar funcionalidades, utilizar el sistema de Issues del repositorio.