Los datos de contacto de todos en un solo lugar.
Dos pantallas: el directorio con buscador, y tu ficha.
Corre en sube, que le pone la base de datos, el dominio, el TLS y el inicio de sesión. La app no trae código de autenticación.
Es el ejemplo más chico del catálogo y el que mejor muestra dónde termina la plataforma y dónde empieza la app.
export const people = pgTable('people', {
id: text('id').primaryKey(), // el id de usuario de la plataforma
…
})No hay columna ownerId que comparar, ni un if que revisar. Guardar es un
upsert sobre user.id, sacado de la sesión: no existe otra fila que pudieras
escribir. La regla no está en el código, está en la forma de los datos, que es
el único lugar donde no se olvida.
El SDK contesta exactamente una pregunta: quién está mirando esta página ahora. No hay llamada que convierta un id de usuario cualquiera en un nombre. Así que un directorio de veinte personas tiene que guardar esos veinte nombres él mismo.
Se refrescan desde la sesión cada vez que la persona guarda, que es el único
momento en que la app se entera. Es duplicación a propósito, y el comentario en
src/db/schema.ts dice por qué, para que nadie la "limpie" después.
La plataforma decide quién puede entrar — por defecto, todo el dominio de correo de quien creó la app — pero no le entrega a la app una lista de personas. Así que el directorio se llena solo: quien nunca lo abre, nunca aparece.
Eso es una limitación real y la página la dice al pie en vez de disimularla. Una app que muestra 12 de 40 personas sin avisar es peor que una que explica por qué.
Solo lo que la plataforma no sabe: cargo, área, anexo, celular, dónde te ubican y para qué te pueden buscar. Nombre, correo y foto vienen de la cuenta.
npm install
npm run buildConstruye sin base de datos. Para verlo con datos hay que desplegarlo:
npm i -g @sube.sh/cli # o usa npx
sube new "Directorio del equipo"
sube deployapp/page.tsx el directorio y el buscador
app/yo/page.tsx mi ficha
src/db/schema.ts una tabla: people
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.
MIT.