Arch/readme.md

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

  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.

Credenciales de acceso por defecto: Usuario: admin Contraseña: admin123