118 lines
3.5 KiB
Markdown
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 |