2.9 KiB
2.9 KiB
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)
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
git clone https://gitea.laenre.net/hacklab/FLUJOS.git
cd FLUJOS
git checkout production
Variables de entorno
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
cd FLUJOS/BACK_BACK && npm install
cd ../VISUALIZACION && npm install
Dependencias Python
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
# 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:
# 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."