116 lines
2.9 KiB
Markdown
116 lines
2.9 KiB
Markdown
# FLUJOS
|
|
|
|
Software libre para analizar y visualizar flujos de información. Conecta noticias, documentos y eventos históricos para entender la historia como una sucesión de eventos y combatir la desinformación.
|
|
|
|
---
|
|
|
|
## Requisitos
|
|
|
|
- Node.js >= 18.x
|
|
- Python >= 3.11
|
|
- MongoDB >= 6.x
|
|
|
|
### Instalar MongoDB (Ubuntu/Debian)
|
|
|
|
```bash
|
|
sudo apt install -y gnupg curl
|
|
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor
|
|
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
|
|
sudo apt update && sudo apt install -y mongodb-org
|
|
sudo systemctl enable --now mongod
|
|
```
|
|
|
|
---
|
|
|
|
## Instalación
|
|
|
|
```bash
|
|
git clone https://gitea.laenre.net/hacklab/FLUJOS.git
|
|
cd FLUJOS
|
|
git checkout production
|
|
```
|
|
|
|
### Variables de entorno
|
|
|
|
```bash
|
|
cp .env.example FLUJOS/BACK_BACK/.env
|
|
```
|
|
|
|
Edita `.env` con tus valores:
|
|
|
|
| Variable | Por defecto | Descripción |
|
|
|-------------|-------------------------------|------------------------------|
|
|
| `MONGO_URL` | `mongodb://localhost:27017` | URL de conexión a MongoDB |
|
|
| `DB_NAME` | `FLUJOS_DATOS` | Nombre de la base de datos |
|
|
| `PORT` | `3000` | Puerto del servidor |
|
|
|
|
### Dependencias Node.js
|
|
|
|
```bash
|
|
cd FLUJOS/BACK_BACK && npm install
|
|
cd ../VISUALIZACION && npm install
|
|
```
|
|
|
|
### Dependencias Python
|
|
|
|
```bash
|
|
cd ../../FLUJOS_DATOS
|
|
python3 -m venv myenv
|
|
source myenv/bin/activate
|
|
pip install transformers==4.10.0 tensorflow==2.17.0 scikit-learn==0.24.2 \
|
|
pandas==1.3.2 numpy==1.19.5 nltk==3.6.2 django obsei[all]
|
|
python FLUJOS_DATOS/manage.py migrate
|
|
```
|
|
|
|
---
|
|
|
|
## Arrancar
|
|
|
|
```bash
|
|
# Servidor principal
|
|
cd FLUJOS/BACK_BACK && npm start
|
|
|
|
# API Python (en otra terminal, con el venv activo)
|
|
cd FLUJOS/BACK_BACK && python flask_api/app.py
|
|
```
|
|
|
|
Disponible en `http://localhost:3000`
|
|
|
|
---
|
|
|
|
## Base de datos
|
|
|
|
La app lee de MongoDB (`FLUJOS_DATOS`). Las colecciones se pueblan con el pipeline de datos:
|
|
|
|
```bash
|
|
# 1. Scraping
|
|
python FLUJOS_DATOS/NOTICIAS/main_noticias.py
|
|
python FLUJOS_DATOS/WIKIPEDIA/main.py
|
|
python FLUJOS_DATOS/TORRENTS/procesar_torrents.py
|
|
|
|
# 2. Comparaciones
|
|
python FLUJOS_DATOS/COMPARACIONES/pipeline_completo.py
|
|
```
|
|
|
|
Consulta `FLUJOS_DATOS/DOCS/` para más detalle.
|
|
|
|
---
|
|
|
|
## Estructura
|
|
|
|
```
|
|
flujos/
|
|
├── FLUJOS/
|
|
│ ├── BACK_BACK/ # Servidor Express + Flask API + OBSEI
|
|
│ └── VISUALIZACION/ # Frontend (Three.js, force-graph)
|
|
└── FLUJOS_DATOS/
|
|
├── NOTICIAS/ # Scraper de noticias
|
|
├── WIKIPEDIA/ # Extracción Wikipedia
|
|
├── TORRENTS/ # Documentos WikiLeaks
|
|
├── COMPARACIONES/ # Similitud entre documentos
|
|
└── DOCS/ # Documentación técnica
|
|
```
|
|
|
|
---
|
|
|
|
*"Los gigantes vistos en perspectiva parecen marionetas."*
|