Skip to content
Metro-OlografixPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

Repository files navigation

sede

sistema pubblico delle presenze sviluppato per la nuova sede della Metro Olografix.

questo progetto è ispirato a BITS (Gitlab).

progetto

il progetto è diviso in due parti:

hardware

Schematic:

schematic

il firmware è sviluppato utilizzando il framework ESPHome ed è modificabile qui.

per flashare il firmware sul proprio ESP32 è necessario avviare ESPHome in locale o su una istanza remota, per lanciarlo in locale:

git clone git@github.com:Metro-Olografix/sede.git

cd sede/hardware

docker compose up -d

ora, aprire http://localhost:6052 sul proprio browser e sarà già disponibile pulsante-sede.yaml nella schermata iniziale.

backend

il backend è un semplice web server in Go, multi-tenant: una sola istanza serve N sedi tramite prefisso di path /s/{slug}/.... Le rotte "bare" restano come alias della sede di default (DEFAULT_SPACE_SLUG, pescara) per compatibilità con i client già deployati (pulsante ESP32, MCP server).

Endpoint per ciascuna sede:

  • GET /s/{slug}/status (alias: GET /status): risponde true o false
  • POST /s/{slug}/toggle (alias: POST /toggle): cambia lo stato. Richiede X-API-KEY della sede.
  • GET /s/{slug}/stats (alias: GET /stats): statistiche orarie
  • GET /s/{slug}/spaceapi.json (alias: GET /spaceapi.json): metadati SpaceAPI v15
  • GET /s/{slug}/ui (alias: GET /ui): heatmap, attiva solo se DEBUG=true

Le sedi sono dichiarate in config/spaces.yaml (vedi backend/deploy/spaces.example.yaml): slug, nome, coordinate, API key (supporta $VAR), chat/thread Telegram, metadati SpaceAPI. Il file è caricato al boot e fa upsert sulle righe del DB per slug.

per lanciarlo in locale:

git clone git@github.com:Metro-Olografix/sede.git

cd sede/backend

docker build -t sede .

docker run -p 8080:8080 -e DEBUG=true -v ./database:/app/database sede

server MCP

perchè non dare la possibilità agli LLM di sapere se la sede è aperta o chiusa?

configurare Claude Desktop

aggiungere dentro claude_desktop_config.json:

{
  "mcpServers": {
    "mx-sede": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/metro-olografix/sede/mcp:latest"
      ]
    }
  }
}

sviluppo locale

https://modelcontextprotocol.io/quickstart/server#set-up-your-environment

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages