DTIC UAB Challenge - UABTheHack 2025

📋 Descripció del Projecte

Aquest projecte és una eina per analitzar l’ocupació dels punts d’accés (AP) del campus de la UAB, amb la intenció de visualitzar de manera gràfica la distribució i densitat d’usuaris al passat, present i futur.

És una solució completa per a la gestió i predicció de demanda de trànsit de xarxa en els Access Points (APs) de la Universitat Autònoma de Barcelona (UAB). El sistema analitza patrons temporals de connexió, genera visualitzacions interactives i proporciona prediccions de demanda per optimitzar la gestió de la infraestructura de xarxa.

🎯 Objectius

  • Anàlisi de Patrons Temporals: Identificar patrons de demanda per dia de la setmana i intervals de 15 minuts.
  • Predicció de Demanda: Generar prediccions de trànsit per optimitzar recursos.
  • Visualització Interactiva: Crear heatmaps i gràfiques per visualitzar la demanda.
  • Interfície Web: Desenvolupar una interfície web moderna per visualitzar les dades.

🏗️ Estructura del Projecte

dtic-uab-challenge-uabthehack-2025/
├── backend/              # API RESTful (FastAPI)
│   ├── app/
│   │   ├── api/         # Ruters de l'API
│   │   ├── __init__.py  # Inicialització del mòdul
│   │   └── main.py      # Aplicació principal
│   ├── main.py          # Punt d'entrada
│   ├── pyproject.toml   # Dependències Python
│   └── uv.lock          # Fitxer de bloqueig
│
├── data/                # Dades del projecte
│   ├── aps/             # Dades dels Access Points
│   ├── aps_new/         # Noves dades dels Access Points
│   └── clients/         # Dades dels clients
│
├── frontend/             # Interfície web (Vue.js)
│   ├── src/
│   │   ├── components/  # Components Vue
│   │   ├── views/       # Vistes de l'aplicació
│   │   └── router/      # Configuració de rutes
│   ├── index.html       # Fitxer HTML principal
│   ├── package.json     # Dependències Node.js
│   ├── vite.config.js   # Configuració de Vite
│   └── public/          # Recursos públics
│
├── src/                 # Scripts i recerca
│   ├── ml/              # Models de Machine Learning
│   └── research/        # Experiments i recerca
│
├── notebooks/           # Notebooks Jupyter
│   ├── expert_prediction.ipynb  # Després de canviar el paradigma
│   ├── prediction.ipynb         # Abans de canviar el paradigma
│   └── altres notebooks...
│
├── README.md            # Documentació del projecte
└── .gitignore           # Fitxer per ignorar arxius en Git

🚀 Com executar el projecte

Backend (API RESTful)

  1. Navega al directori backend/: bash cd backend
  2. Instal·la les dependències: bash pip install -r requirements.txt
  3. Executa el servidor: bash uvicorn main:app --reload
  4. Accedeix a la documentació de l'API a http://127.0.0.1:8000/docs.

Frontend (Interfície Web)

  1. Navega al directori frontend/: bash cd frontend
  2. Instal·la les dependències: bash npm install
  3. Executa el servidor de desenvolupament: bash npm run dev
  4. Accedeix a l'aplicació web a http://localhost:5173.

📓 Notebooks

  • expert_prediction.ipynb: Aquest notebook conté el treball realitzat després de canviar el paradigma del model de predicció.
  • prediction.ipynb: Aquest notebook conté el treball inicial abans de canviar el paradigma.
  • Altres notebooks: Inclouen experiments i visualitzacions addicionals.

📂 Dades

  • aps/: Conté dades dels Access Points.
  • aps_new/: Conté noves dades dels Access Points.
  • clients/: Conté dades dels clients connectats.

🛠️ Requisits

  • Python 3.9+
  • Node.js 16+
  • Navegador web modern

🤝 Contribucions

Les contribucions són benvingudes! Si us plau, crea un pull request o obre una issue per discutir els canvis que vols fer.


Aquest projecte ha estat desenvolupat per l'equip de la UAB per al Hackathon 2025. 🎉

Built With

Share this project:

Updates