PDF Vault
Aplicación de lectura — versiones, acceso y administración
PDF Vault es una aplicación para administrar un documento PDF con control de versiones: el equipo puede publicar una versión nueva y volver a una anterior. El cliente también quería que sus lectores pudieran entrar sin crear ni recordar una contraseña, así que basta con escribir el correo para acceder directamente al documento dentro de la aplicación. Los administradores gestionan usuarios, versiones y actividad desde un backoffice independiente. Son tres piezas —aplicación de usuario, backoffice y API compartida— sobre ASP.NET Core y PostgreSQL, con los frontends en Next.js. El proyecto se construyó con desarrollo dirigido por especificación.
Arquitectura
La solución separa el portal de lectura y el backoffice en dos aplicaciones Next.js, conectadas a una API ASP.NET Core y PostgreSQL. El backend organiza sus funciones por caso de uso y mantiene separadas las sesiones de lectores y administradores; los archivos PDF quedan en almacenamiento privado detrás de una interfaz propia.
Versiones publicadas y reversión
Desde el backoffice, el administrador sube una nueva edición y elige si el cambio aumenta la versión mayor, menor o de parche. Cada archivo queda guardado como una versión independiente, con su fecha y autor; una nueva carga pasa a ser la vigente sin borrar las anteriores. Si hace falta, el administrador puede volver a cualquier versión disponible con una acción de rollback.
Acceso por correo, sin contraseña
El cliente quería que leer el documento no requiriera crear ni recordar una contraseña. El lector ingresa su correo y la aplicación inicia la sesión para abrir el PDF; no tiene que completar un formulario de contraseña ni esperar un enlace para acceder. La sesión distingue al usuario y protege las acciones que requieren autenticación.
Un lector PDF con anotaciones personales
El documento se abre dentro de la aplicación, con navegación por páginas y capítulos, búsqueda y controles de lectura. Cada lector puede guardar resaltados y comentarios vinculados al texto. Cuando cambia la versión del PDF, la aplicación intenta volver a ubicar las anotaciones en el nuevo documento usando el fragmento de texto guardado.
Entrega privada del documento
El PDF no tiene una URL pública ni se sirve como archivo estático. Los archivos viven fuera de las rutas públicas; al pedir el documento, la API valida la sesión y transmite el contenido desde el almacenamiento privado, sin exponer su clave al navegador. La actividad de acceso se registra cuando la transferencia se completa.
Usuarios y actividad en el backoffice
El panel administrativo mantiene las cuentas lectoras separadas de las cuentas de administración. La lista permite revisar correo, fecha de creación, estado de bloqueo, inicios de sesión y accesos al PDF; desde el detalle se puede consultar la actividad y bloquear o habilitar una cuenta. El dashboard resume usuarios, inicios de sesión y lecturas por día, semana y mes.