Arch/readme.md

118 lines
3.5 KiB
Markdown

# 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/`:
```bash
# 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