3.5 KiB
ARCH - Sistema de Gestión de Documentos para Proyectos de Ingeniería
ARCH es un sistema de gestión documental diseñado específicamente para equipos de ingeniería, con el propósito de almacenar, organizar y versionar los archivos críticos de cada proyecto. La aplicación proporciona una estructura jerárquica para proyectos, control de versiones para documentos, y esquemas personalizables según el tipo de proyecto.
Características Principales
- Gestión de Proyectos: Creación y organización jerárquica de proyectos
- Control de Versiones: Histórico completo de todas las versiones de documentos
- Esquemas Personalizables: Definición de tipos de documentos por proyecto
- Sistema de Permisos: Control de acceso granular basado en niveles de usuario
- Arquitectura Simple: Basada en archivos JSON para facilitar el mantenimiento y backups
- Seguridad: Validación de archivos y autenticación de usuarios
Requisitos del Sistema
- Python 3.8 o superior
- Dependencias listadas en
requirements.txt
- 500MB de espacio en disco para la instalación inicial
Instalación
-
Clonar el repositorio:
git clone https://github.com/tu-usuario/arch-document-manager.git cd arch-document-manager
-
Crear y activar un entorno virtual:
python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows
-
Instalar dependencias:
pip install -r requirements.txt
-
Inicializar el sistema:
python init_app.py
-
Crear archivo
.env
con la configuración:FLASK_APP=app.py FLASK_ENV=development SECRET_KEY=clave_secreta_generada_aleatoriamente STORAGE_PATH=storage
Ejecución
-
Iniciar la aplicación:
flask run
-
Acceder a la aplicación en el navegador:
http://localhost:5000
-
Iniciar sesión con las credenciales por defecto:
- Usuario:
admin
- Contraseña:
admin123
IMPORTANTE: Cambiar la contraseña del administrador después del primer inicio de sesión.
- Usuario:
Estructura de Directorios
document_manager/
│
├── app.py # Punto de entrada de la aplicación
├── config.py # Configuración global
├── requirements.txt # Dependencias del proyecto
├── README.md # Este archivo
│
├── services/ # Lógica de negocio
├── utils/ # Utilidades generales
├── middleware/ # Middleware para Flask
├── routes/ # Endpoints de la API
├── static/ # Archivos estáticos (CSS, JS)
├── templates/ # Plantillas HTML
├── tests/ # Pruebas unitarias
└── storage/ # Almacenamiento de datos
Niveles de Usuario
- Nivel 0-999: Usuario básico (solo lectura)
- Nivel 1000-4999: Editor (puede subir documentos)
- Nivel 5000-8999: Gestor (puede crear y editar proyectos)
- Nivel 9000-9999: Administrador (acceso completo al sistema)
Backups
Se recomienda realizar backups regulares del directorio storage/
:
# Script simple de backup
tar -czf backup-$(date +%Y%m%d).tar.gz storage/
Soporte
Si encuentra algún problema o tiene alguna sugerencia, por favor abra un issue en el repositorio del proyecto.
Licencia
Este proyecto está licenciado bajo los términos de la licencia MIT.
Credenciales de acceso por defecto: Usuario: admin Contraseña: admin123