Go to file
Miguel f31e4eb886 Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
middleware Version base funcionando pre-test 2025-03-03 21:51:09 +01:00
routes Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
services Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
static Version base funcionando pre-test 2025-03-03 21:51:09 +01:00
templates Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
test Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
test_storage Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
utils Version base funcionando pre-test 2025-03-03 21:51:09 +01:00
.blackboxrules Version base funcionando pre-test 2025-03-03 21:51:09 +01:00
.gitignore Base 2025-03-03 18:39:37 +01:00
app.py Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
config.py Version base funcionando pre-test 2025-03-03 21:51:09 +01:00
crear_directorios.bat Version creada por Claude 3.7 2025-03-03 19:35:24 +01:00
descripcion.md Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
init_app.py Version creada por Claude 3.7 2025-03-03 19:35:24 +01:00
readme.md Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00
requirements.txt Version base funcionando pre-test 2025-03-03 21:51:09 +01:00
resultados_test.json Segunda version - Agregado Nombre al eschema 2025-03-05 18:10:33 +01:00

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

  1. Clonar el repositorio:

    git clone https://github.com/tu-usuario/arch-document-manager.git
    cd arch-document-manager
    
  2. Crear y activar un entorno virtual:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate     # Windows
    
  3. Instalar dependencias:

    pip install -r requirements.txt
    
  4. Inicializar el sistema:

    python init_app.py
    
  5. 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

  1. Iniciar la aplicación:

    flask run
    
  2. Acceder a la aplicación en el navegador:

    http://localhost:5000
    
  3. 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.

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