Matthew Trejo пре 1 месец
родитељ
комит
69b1c84dd4
1 измењених фајлова са 118 додато и 20 уклоњено
  1. 118 20
      README.md

+ 118 - 20
README.md

@@ -1,36 +1,134 @@
-This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
+# Sumire
 
-## Getting Started
+![image](public\sumire.png)
 
-First, run the development server:
+Sistema de facturación electrónica para Ecuador con integración al SRI (Servicio de Rentas Internas).
+
+## Características
+
+- **Creación de Facturas XML**: Generación de facturas electrónicas en formato XML según las especificaciones del SRI
+- **Firma Digital**: Firma electrónica de documentos XML con certificados digitales
+- **Envío al SRI**: Integración SOAP para enviar facturas al Servicio de Rentas Internas
+- **Gestión de Configuración**: Administración de configuraciones tributarias (RUC, establecimiento, punto de emisión, secuenciales)
+- **Validación Automática**: Validación de clave de acceso y datos tributarios
+- **Interfaz Moderna**: UI construida con Next.js, React y Tailwind CSS
+
+## Tecnologías
+
+- **Framework**: [Next.js 16](https://nextjs.org/)
+- **UI**: React 19, [Tailwind CSS](https://tailwindcss.com/), [Radix UI](https://www.radix-ui.com/)
+- **Base de Datos**: SQLite con [Prisma ORM](https://www.prisma.io/)
+- **Firma Electrónica**: [ec-sri-invoice-signer](https://www.npmjs.com/package/ec-sri-invoice-signer)
+- **SOAP Client**: [soap](https://www.npmjs.com/package/soap)
+- **Validación**: [Zod](https://zod.dev/)
+
+## Requisitos Previos
+
+- Node.js 20 o superior
+- npm o pnpm
+
+## Instalación
+
+1. Clonar el repositorio:
+```bash
+git clone <repository-url>
+cd sumire
+```
+
+2. Instalar dependencias:
+```bash
+npm install
+```
+
+3. Configurar la base de datos:
+```bash
+npx prisma generate
+npx prisma db push
+```
+
+4. Configurar variables de entorno:
+Crear un archivo `.env` en la raíz del proyecto:
+```env
+DATABASE_URL="file:./dev.db"
+```
+
+## Uso
+
+### Desarrollo
 
 ```bash
 npm run dev
-# or
-yarn dev
-# or
-pnpm dev
-# or
-bun dev
 ```
 
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+La aplicación estará disponible en [http://localhost:3000](http://localhost:3000)
+
+### Producción
+
+```bash
+npm run build
+npm start
+```
 
-You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
+## Flujo de Trabajo
 
-This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
+1. **Configuración Tributaria** (`/configuracion`):
+   - Configurar RUC, razón social, dirección matriz
+   - Definir establecimiento y punto de emisión
+   - Gestionar secuenciales de facturación
+
+2. **Crear Factura** (`/factura`):
+   - Llenar información del comprador
+   - Agregar detalles de productos/servicios
+   - Generar XML de la factura
+
+3. **Firmar Factura** (`/firmar`):
+   - Subir archivo XML de la factura
+   - Subir certificado digital (.p12)
+   - Firmar electrónicamente el documento
+
+4. **Enviar al SRI** (`/enviar-sri`):
+   - Configurar parámetros del servicio SOAP del SRI
+   - Enviar factura firmada
+   - Monitorear estado de autorización
+
+## Estructura del Proyecto
+
+```
+sumire/
+├── prisma/
+│   └── schema.prisma          # Esquema de base de datos
+├── src/
+│   ├── app/
+│   │   ├── api/               # API Routes
+│   │   ├── factura/           # Página de creación de facturas
+│   │   ├── firmar/            # Página de firma digital
+│   │   ├── enviar-sri/        # Página de envío al SRI
+│   │   └── configuracion/     # Página de configuración
+│   ├── components/
+│   │   ├── factura/           # Componentes de facturación
+│   │   ├── firmar/            # Componentes de firma
+│   │   ├── envio-sri/         # Componentes de envío SRI
+│   │   └── ui/                # Componentes UI reutilizables
+│   ├── hooks/                 # Custom React hooks
+│   ├── lib/                   # Utilidades y generadores
+│   ├── types/                 # Definiciones de TypeScript
+│   └── utils/                 # Funciones auxiliares
+└── package.json
+```
 
-## Learn More
+## Base de Datos
 
-To learn more about Next.js, take a look at the following resources:
+El proyecto utiliza SQLite para el almacenamiento local. Para modificar el esquema:
 
-- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
-- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+1. Editar `prisma/schema.prisma`
+2. Ejecutar `npx prisma db push`
 
-You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
+## Licencia
 
-## Deploy on Vercel
+Este proyecto es de código privado.
 
-The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+## Notas Importantes
 
-Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
+- Este sistema está diseñado específicamente para la normativa tributaria de Ecuador
+- Se requiere un certificado digital válido emitido por una entidad certificadora autorizada por el SRI
+- Asegúrate de configurar correctamente el ambiente (pruebas/producción) antes de enviar facturas reales