proyectos

Aridos

Desarrollo software a medida

Software a medida compuesto por una PWA para operarios y un dashboard administrativo.

Aridos

Software operativo orientado a recoger y gestionar los datos de producción y del personal en campo. El proyecto se compone de dos aplicaciones cliente y una API backend, permitiendo que los operarios envíen sus partes de trabajo desde el terreno y que los supervisores centralicen la información en un panel de administración.

Aplicaciones

  • PWA de operarios: aplicación web progresiva (instalable y con soporte offline mediante service worker) pensada para el uso en campo. Los operarios seleccionan su nombre y completan un parte según el flujo correspondiente —cantera, planta, transporte de árido y transporte de cantera— con una interfaz de pasos mínimos, objetivos táctiles amplios y validación clara.
  • Dashboard administrativo: panel web para supervisores y administradores que centraliza toda la operación: gestión de empleados, máquinas, partes, incidencias, mantenimientos, taller, recambios y reporting con exportación de informes en PDF.

Características

  • Envío de partes offline-first: la PWA prioriza la ruta crítica de envío de partes, sincronizando los datos cuando hay conectividad.
  • Gestión de máquinas y mantenimientos: control de máquinas, órdenes de mantenimiento, reparaciones de taller y recambios.
  • Incidencias y reporting: registro de incidencias y generación de informes agregados exportables a PDF.
  • Autenticación por roles: acceso mediante JWT para el panel administrativo y API token (X-App-Token) para la integración segura con la PWA.
  • Tipos de dominio compartidos: modelos de negocio (parte, empleado, máquina…) centralizados en un paquete común para evitar duplicar reglas entre aplicaciones.

Tecnologías Utilizadas

Frontend (monorepo Bun)

  • Next.js 16 (App Router) y React 19
  • TypeScript
  • TailwindCSS v4
  • PWA (manifest + service worker)

Backend

  • NestJS 11
  • Drizzle ORM sobre PostgreSQL
  • Passport / JWT
  • Docker y Docker Compose