Este proyecto consiste en un sistema de punto de venta (POS) diseñado específicamente para uso interno. Se ha elegido React como la tecnología principal para su desarrollo debido a su flexibilidad, eficiencia y amplio ecosistema de herramientas y librerías. La decisión de no usar Next.js se basa en la naturaleza interna de la aplicación, donde la renderización del lado del servidor y las funcionalidades relacionadas con SEO no son críticas.
El objetivo principal de este sistema es proporcionar una solución robusta, ágil y fácil de usar para la gestión de ventas, inventario y clientes dentro de una organización. Busca optimizar los procesos internos, mejorar la experiencia de los usuarios y proporcionar datos valiosos para la toma de decisiones.
El proyecto está construido utilizando las siguientes tecnologías y librerías:
- React: Para la construcción de la interfaz de usuario.
- TypeScript: Para la tipificación estática y la mejora de la calidad del código.
- ESLint: Para el linting y formateo del código.
- NextUI: Como librería de componentes.
- Vite: Como herramienta de construcción y desarrollo local.
- React Router Dom: Para la gestión de rutas.
- TanStack Query: Para la gestión de consultas.
- Axios: Para las solicitudes HTTP.
- Sonner: Para notificaciones.
- Zustand: Para el manejo del estado global.
- React Hook Form: Para la gestión de formularios.
- React Icons: Para iconos.
- TailwindCSS: Para el diseño y estilos.
- Framer Motion: Para animaciones.
- Además, se utilizan otras librerías para validación de formularios, manejo de consultas, y más, detalladas en el archivo
package.json
del proyecto.
El desarrollo del proyecto sigue una metodología ágil, centrada en la entrega continua de valor, con iteraciones cortas y feedback frecuente. Se enfatiza la colaboración, la adaptabilidad y la mejora continua.
Las contribuciones son bienvenidas. Si estás interesado en contribuir al proyecto, por favor revisa las siguientes directrices:
- Reporte de Bugs: Si encuentras un error, por favor crea un issue detallando el problema.
- Sugerencias de Mejoras: Si tienes ideas para mejorar el sistema, siéntete libre de abrir un issue para discutirlas.
- Pull Requests: Si deseas contribuir directamente con código, asegúrate de seguir las convenciones de código establecidas y de realizar pruebas adecuadas.
Para mantener la calidad y coherencia del código, por favor sigue estas pautas al contribuir:
- Estilo de Código: Asegúrate de seguir el estilo de código definido por Prettier y ESLint. Puedes verificar tu código ejecutando
pnpm run lint
y formatearlo conpnpm run format
. - Documentación: Actualiza la documentación relevante si estás añadiendo o cambiando funcionalidades.
Para levantar el proyecto en tu entorno local, sigue estos pasos:
- Clona el repositorio a tu máquina local.
- Instala las dependencias del proyecto ejecutando
pnpm install
en la raíz del directorio del proyecto. - Inicia el servidor de desarrollo ejecutando
pnpm run dev
. Esto abrirá el proyecto en tu navegador predeterminado. - Para construir el proyecto para producción, puedes ejecutar
pnpm run build
.
Si encuentras algún problema al levantar el proyecto, no dudes en crear un issue en el repositorio.
- Maycol Rodriguez - [email protected]