Inspiration

Excalidocs nace de una idea sencilla pero ambiciosa: aportar estructura, trazabilidad y control de acceso a la gestión documental personal y de pequeños equipos. A lo largo de distintos proyectos académicos y de desarrollo, observé que los sistemas de archivos tienden a volverse caóticos con el tiempo: documentos duplicados, mal categorizados o almacenados sin ningún tipo de control sobre quién los modificó o cómo fueron organizados.

El objetivo de este proyecto no era únicamente ordenar archivos, sino construir un sistema con mentalidad empresarial: roles definidos, control de permisos, auditoría de acciones y una estructura de almacenamiento coherente, todo ello encapsulado en una aplicación de escritorio funcional.

What it does

Merlin’s Excalidocs es un sistema de gestión documental que permite:

Registrar y autenticar usuarios.

Asignar roles y permisos personalizados.

Organizar documentos automáticamente en una estructura jerárquica por categoría, año y mes.

Mantener una auditoría completa de las acciones realizadas sobre los archivos.

Gestionar una papelera individual por usuario.

Controlar el almacenamiento utilizado por cada usuario.

Cada documento procesado queda asociado a una categoría y se almacena de forma estructurada dentro del espacio privado del usuario, garantizando aislamiento y orden. Además, el sistema permite navegar desde los registros de auditoría directamente hasta la carpeta correspondiente.

How we built it

El proyecto fue desarrollado utilizando: Python como lenguaje principal. Interfaz gráfica de escritorio personalizada. PostgreSQL para la persistencia de usuarios y roles. JSON para almacenamiento administrativo adicional. Sistema de control de permisos basado en roles con posibilidad de overrides manuales. Organización de archivos mediante manipulación estructurada del sistema de archivos. Empaquetado como ejecutable Windows utilizando PyInstaller.

Se diseñó una arquitectura donde cada usuario tiene su propio espacio aislado dentro del directorio storage, incluyendo carpetas de incoming, processed y _trash. Además, se implementó un modelo de permisos efectivo basado en: Permisos efectivos = Permisos del rol ∪ Overrides manuales Esto permite flexibilidad sin comprometer la coherencia del sistema.

Challenges we ran into

Durante el desarrollo surgieron varios retos importantes: Gestión correcta de permisos: inicialmente, al cambiar el rol de un usuario, algunos permisos del rol anterior permanecían activos. Fue necesario rediseñar la lógica para evitar herencias indebidas. Normalización de rutas de almacenamiento: asegurar que las categorías clicables en los logs redirigieran correctamente a carpetas organizadas por año y mes. Empaquetado como ejecutable: resolver dependencias ocultas y problemas de importación dinámica al generar el .exe. Separación entre lógica de usuario y lógica de administrador: garantizar que los permisos del administrador no se mezclaran con los de usuarios estándar.

Accomplishments that we're proud of

Durante el desarrollo surgieron varios retos importantes: Gestión correcta de permisos: inicialmente, al cambiar el rol de un usuario, algunos permisos del rol anterior permanecían activos. Fue necesario rediseñar la lógica para evitar herencias indebidas. Normalización de rutas de almacenamiento: asegurar que las categorías clicables en los logs redirigieran correctamente a carpetas organizadas por año y mes. Empaquetado como ejecutable: resolver dependencias ocultas y problemas de importación dinámica al generar el .exe.

Separación entre lógica de usuario y lógica de administrador: garantizar que los permisos del administrador no se mezclaran con los de usuarios estándar.

What we learned

Las próximas mejoras podrían incluir: Cifrado de documentos sensibles. Sincronización en red o almacenamiento distribuido. Sistema de notificaciones y alertas. Exportación avanzada de logs. Gestión multi-nodo o soporte para entornos colaborativos. Mejora de la experiencia de usuario y diseño visual.

Merlin’s Excalidocs se plantea como una base sólida sobre la que construir un sistema de gestión documental cada vez más robusto y profesional.

What's next for Merlin's Excalidocs

Para más información, contacte con el grupo "SleepIsNeeded"

Built With

Share this project:

Updates