|
||
---|---|---|
middleware | ||
routes | ||
services | ||
static | ||
templates | ||
test | ||
test_storage | ||
utils | ||
.blackboxrules | ||
.gitignore | ||
app.py | ||
config.py | ||
crear_directorios.bat | ||
descripcion.md | ||
init_app.py | ||
readme.md | ||
requirements.txt | ||
resultados_test.json |
readme.md
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.
Running Tests
To run the test suite:
Credenciales de acceso por defecto:
Usuario: admin
Contraseña: admin123