Maycol-Rodriguez /
React-Pos
sistema de punto de venta (POS) construido con React con TypeScript
50/100 healthLoading repository data…
avalontm / repository
Sistema de punto de venta (POS) basado en terminal (TUI) de código abierto. Construido con Bun, Ink (React para terminal), Zustand y Drizzle ORM.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Sistema de punto de venta para terminal (TUI) construido con Bun, Ink, Zustand y Drizzle ORM.
# Instalar dependencias
npm install
# Inicializar base de datos
bun run seed
Si prefieres usar Docker, el proyecto ya está configurado para ejecutarse en contenedores:
# Construir la imagen
docker-compose build
# Iniciar modo interactivo (Punto de Venta)
docker-compose up app
[!IMPORTANT] Para interactuar con la interfaz TUI (terminal) dentro de Docker, es necesario que el servicio tenga
tty: trueystdin_open: true(ya configurado endocker-compose.yml).
El sistema usa SQLite como motor de base de datos (archivo pos.db), gestionado con Drizzle ORM.
| Tabla | Descripción |
|---|---|
products | Catálogo de productos (sku, name, price, stock, etc.) |
sales | Registro de ventas/tickets con datos de CFDI |
users | Usuarios del sistema (username, pin, role) |
clients | Clientes para facturación (RFC, razón social, puntos) |
config | Configuración del negocio |
# Agregar usuario con rol cashier (por defecto)
pos.exe add user juan 1234
# Agregar usuario admin
pos.exe add user juan 1234 --role admin
| Rol | Descripción |
|---|---|
admin | Acceso completo al sistema (configuración, usuarios, reportes) |
cashier | Usuario de caja (solo ventas y reportes) |
bun run dev
pos --settings
Abre un menú interactivo para configurar:
<<<<<<< HEAD
pos --help # Mostrar ayuda
pos --version # Mostrar versión
pos --settings # Abrir configuración TUI
pos import products # Importar productos desde CSV
pos export products # Exportar productos a CSV
pos seed # Insertar productos de ejemplo
pos add user <username> <pin> [--role] # Agregar usuario
pos config get # Ver configuración
pos config config set <key> <value> # Actualizar configuración
======= Puedes ejecutar los comandos directamente o a través de Docker:
| Comando | Ejecución Local | Ejecución Docker |
|---|---|---|
| Ayuda | pos.exe --help | docker-compose run --rm app --help |
| Versión | pos.exe --version | docker-compose run --rm app --version |
| Importar | pos.exe import products | docker-compose run --rm app import products |
| Exportar | pos.exe export products | docker-compose run --rm app export products |
| Seed | pos.exe seed | docker-compose run --rm app seed |
| Usuario | pos.exe add user <user> <pin> | docker-compose run --rm app add user <user> <pin> |
| Config Get | pos.exe config get | docker-compose run --rm app config get |
| Config Set | pos.exe config set <k> <v> | docker-compose run --rm app config set <k> <v> |
2ae9ae81a7c2b3405f737f12daecead51c952e57
sku,name,price,cost,category,stock,barcode,unittype,unitqty,minstock
001,Producto 1,10.50,5.00,BEB,100,123456789,pza,1,10
002,Producto 2,25.00,12.00,ALI,50,987654321,kg,1,5
| Campo | Requerido | Descripción |
|---|---|---|
| sku | ✅ | Código único |
| name | ✅ | Nombre del producto |
| price | ✅ | Precio de venta |
| cost | ❌ | Costo |
| category | ❌ | Categoría (default: GEN) |
| stock | ❌ | Stock inicial (default: 0) |
| minStock | ❌ | Stock mínimo (default: 5) |
| unitType | ❌ | pza, kg, g, lt, ml, m, cm (default: pza) |
| unitQty | ❌ | Cantidad por unidad |
| barcode | ❌ | Código de barras |
# Importar productos
pos import products productos.csv
# Simular importación (sin guardar)
pos import products productos.csv --dry-run
El sistema soporta generación de facturas electrónicas mediante FacturAPI.
pos --settings e ir a FacturaciónLos clientes se almacenan en la tabla clients con:
Los clientes acumulan puntos que pueden usarse a futuro para:
El sistema está diseñado para escalar con más campos en el futuro.
| Tecla | Acción |
|---|---|
| Tab | Cambiar panel |
| ↑↓←→ | Navegar |
| Enter | Seleccionar/Pagar |
| 1-4 | Alternativas de navegación |
| / | Buscar productos |
| F | Facturar venta |
| R | Ver reportes |
| L | Cerrar sesión |
| Ctrl+Q | Salir |
| Tecla | Acción |
|---|---|
| + | Aumentar cantidad |
| - | Disminuir cantidad |
| d | Eliminar item |
| Tecla | Acción |
|---|---|
| 1-8 | Navegar secciones |
| ↑↓ | Mover en listas |
| Enter | Guardar/Confirmar |
| T | Impresión de prueba (en impresora) |
| E | Editar (en listas) |
| X | Eliminar (en listas) |
| A | Agregar (solo admin) |
| / | Buscar (en productos/clientes) |
| Esc | Volver atrás |
El sistema de impresión utiliza los datos del negocio desde la base de datos y puede imprimir un banner desde assets/banner.png.
| Tipo | Interfaz | Descripción |
|---|---|---|
| Windows Printer | printer:NOMBRE | Impresora local Windows |
| TCP | tcp://192.168.1.100:9100 | Impresora de red |
| USB | USB | Impresora USB |
| Archivo | /dev/usb/lp0 | Archivo/Dispositivo |
| Ancho | Caracteres | Tipo |
|---|---|---|
| 48 | 48 caracteres | 80mm (default) |
| 58 | 58 caracteres | 58mm |
| 80 | 80 caracteres | 80mm |
| Charset | Descripción |
|---|---|
| PC437 | USA |
| PC850 | Multilingual |
| PC860 | Portuguese |
| PC863 | Canadian French |
| PC865 | Nordic |
| PC858 | Euro |
| WIN1252 | Windows Latin-1 |
| ISO8859_1 | ISO Latin-1 |
# Compilar executable
bun build src/app.tsx --compile --outfile pos.exe
El ejecutable pos.exe queda en el directorio del proyecto. Los comandos CLI funcionan directamente con el ejecutable.
Repositorio: https://github.com/avalontm/openpos.git
Licencia MIT - Copyright (c) 2026 avalontm
Proyecto desarrollado por AvalonTM
Selected from shared topics, language and repository description—not editorial ratings.
Maycol-Rodriguez /
sistema de punto de venta (POS) construido con React con TypeScript
50/100 healthyael-lopez-mariano /
Es una web de un punto de venta que incluye .NET y C# como la parte del back end y en la parte de fronten incluye Angular y TypeScripts
44/100 healthCreativeSTH /
RIFIFY es una aplicación de rifas desarrollada en Node.js, Express y TypeScript. Incluye autenticación con verificación de email, sistema de referidos, billetera virtual, puntos, y gestión completa de rifas.
joeldevian /
Sistema ERP farmacéutico moderno y robusto desarrollado con React, TypeScript y Supabase. Gestión de inventarios, Punto de Venta (POS), CRM de clientes y analítica en tiempo real con diseño premium.
51/100 healthPedr0RS21 /
Sistema POS de escritorio - Electron + React + TypeScript + MariaDB para tienda de abarrotes
42/100 healthaasfish /
Sistema POS completo - Punto de venta con React, TypeScript y Supabase
42/100 health