Skip to content

Repository files navigation

Reporte de fallas

Alguien reporta una falla con foto y se le hace seguimiento.

Un formulario abierto, pensado para llegar desde un QR pegado en la máquina que se echó a perder, y una cola de mantención detrás de sesión donde el equipo toma cada falla y la cierra.

Corre en sube, que le pone la base de datos, el almacenamiento de archivos, el dominio y el inicio de sesión. La app no trae código de autenticación ni credenciales de nada.

Por qué existe este ejemplo

Quien reporta está parado frente a la puerta trabada: puede ser un contratista, una visita, alguien de otro piso. Exigirle una cuenta corporativa para decir "esto está roto" es la forma más segura de que la falla no se reporte nunca. Quien la arregla, en cambio, es del equipo y sí tiene cuenta.

Es el mismo patrón que registro-de-visitas: escritura anónima, lectura autenticada.

Además es el ejemplo que usa almacenamiento de archivos, y ahí hay algo que vale la pena mirar:

await storage.put(key, bytes, photo.type)
const url = await storage.temporaryUrl(key)

La app no tiene credenciales del almacenamiento. Le pide un enlace a la plataforma, que lo firma acotado al prefijo de esta app y de ninguna otra. Un enlace por foto, lo que está bien para una cola de mantención y no lo estaría para una galería.

Correrlo

npm install
npm run build

Construye sin base de datos. Para verlo funcionando hay que desplegarlo:

npm i -g @sube.sh/cli   # o usa npx
sube new "Reporte de fallas"
sube deploy

Una advertencia honesta

El formulario está abierto a internet: cualquiera con el enlace puede crear reportes y subir imágenes. Para un QR dentro de una oficina eso es un problema manejable, y es el precio de que reportar sea fácil. Si lo vas a dejar alcanzable desde fuera, ponle límite de tamaño, límite de frecuencia por IP, o pon la app detrás de una regla de acceso desde la plataforma.

Estructura

app/page.tsx                el formulario abierto
app/seguimiento/page.tsx    la cola de mantención, con sesión
src/db/schema.ts            una tabla: faults

middleware.ts y next.config.ts los pone la plataforma. AGENTS.md explica las reglas que un asistente de IA debe respetar al modificar esta app.

Licencia

MIT.

About

Alguien reporta una falla con foto y se le hace seguimiento. App de ejemplo para sube: formulario abierto, cola de mantención con sesión.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages