Important
Aviso: Este proyecto se encuentra en desarrollo y no se recomienda su uso para producción.
Bienvenido a POS (Point of Sale), un sistema de Punto de Venta gratuito, libre y Cloud Native, desarrollado por la comunidad del Google Developer Group (GDG) Guadalajara.
Nuestro objetivo es ofrecer una solución de software robusta, ligera y fácil de desplegar para pequeños negocios, manteniendo la filosofía del Software Libre.
El proyecto está diseñado como un monolito moderno optimizado para la nube, asegurando bajo consumo de recursos y alto rendimiento.
- Backend: Java 21 + Quarkus.
- Frontend: Nuxt (Vue.js) servido mediante Quarkus Quinoa.
- Base de Datos: H2 (Embebida).
- Estilos: Tailwind CSS + daisyUI (Componentes listos para usar).
La versión Standalone es ideal para evaluar el sistema localmente. Incluye una base de datos H2 y llaves de seguridad preconfiguradas para que puedas empezar en segundos.
Usa este comando si solo quieres ver cómo funciona el sistema. Nota: Los datos se borrarán al detener el contenedor.
podman run -p 8080:8080 \
-e TZ=America/Mexico_City \
--rm --name pos-test \
ghcr.io/gdgguadalajara/pos:standaloneUsa esta opción para guardar tus ventas, productos y usar tus propias llaves de seguridad.
./scripts/create-jwt-pem.shpodman run -p 8080:8080 \
-v $(pwd)/data:/deployments/data:Z \
-e TZ=America/Mexico_City \
--name pos-standalone \
ghcr.io/gdgguadalajara/pos:standaloneAl usar el volumen, tanto la base de datos (gdgguadalajara_pos.mv.db) como tus llaves se guardarán en tu carpeta local ./data.
Una vez que el contenedor esté corriendo, abre tu navegador en http://localhost:8080.
| Usuario | Contraseña |
|---|---|
admin |
admin |
cashier |
cashier |
waiter |
waiter |
El sistema viene preconfigurado para funcionar inmediatamente. Sin embargo, puedes personalizar el comportamiento utilizando Variables de Entorno al ejecutar el contenedor.
Las variables más comunes para entornos de producción son:
| Variable de Entorno | Propiedad Equivalente | Descripción | Valor por Defecto |
|---|---|---|---|
QUARKUS_HTTP_PORT |
quarkus.http.port |
Puerto donde escucha el servidor. | 8080 |
QUARKUS_DATASOURCE_JDBC_URL |
quarkus.datasource.jdbc.url |
Ruta de conexión a la BD. | jdbc:h2:file:./data/gdgguadalajara_pos;AUTO_SERVER=TRUE |
QUARKUS_LOG_LEVEL |
quarkus.log.level |
Nivel de detalle de los logs. | INFO |
Ejemplo: Cambiar el puerto a 9090:
docker run -d -p 9090:9090 -e QUARKUS_HTTP_PORT=9090 ...
ℹ️ Más información: Para ver la configuración base completa y descubrir otras propiedades que puedes sobrescribir, consulta el archivo de configuración original: 📄 application.properties
Si deseas contribuir al código o compilarlo tú mismo, necesitarás tener instalado Java JDK 21.
- Clona el repositorio:
git clone https://github.com/gdgguadalajara/pos.git
cd pos- Genera los certificados de seguridad:
./scripts/create-jwt-pem.sh- Ejecuta en modo desarrollo (Live Coding):
./gradlew quarkusDev -Dvertx.disableURIValidation=truePara más detalles sobre el entorno de desarrollo y la arquitectura, consulta nuestra Guía de Contribución.
¡Las contribuciones son bienvenidas!
- Lee nuestro Código de Conducta para asegurar un ambiente saludable.
- Revisa la Guía de Contribución para entender el flujo de trabajo y los estándares.
Este proyecto es Software Libre bajo la licencia GNU Affero General Public License v3.0 (AGPL-3.0).
Tienes la libertad de usar, estudiar, compartir y modificar el software. Si modificas este software y lo ofreces como un servicio a través de una red (SaaS), estás obligado a compartir el código fuente completo de tu versión modificada bajo la misma licencia.
Consulta el archivo LICENSE para más detalles.
Hecho con ❤️ por el GDG Guadalajara.