Skip to content

tapunict/pin_security_project

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” PIN Security Analyzer - Big Data Pipeline

Un sistema di Big Data Analytics in Real-Time che analizza la sicurezza dei PIN inviati via Telegram, geolocalizza le minacce e visualizza i risultati su una mappa interattiva.

πŸ—οΈ Architettura

Il progetto implementa una pipeline Lambda Architecture semplificata:

  1. Ingestion: Telegram Bot (Python) raccoglie PIN e Coordinate GPS.
  2. Streaming: Apache Kafka (KRaft mode) gestisce i messaggi in tempo reale.
  3. Processing: Apache Spark (Structured Streaming) elabora i dati, calcola un "Safety Score" e aggiunge timestamp.
  4. Storage & Viz: Elasticsearch indicizza i dati arricchiti; Kibana li visualizza su Mappe e Dashboard.

πŸš€ Come Avviare il Progetto

Prerequisiti

  • Docker & Docker Compose installati.
  • Un Token per Bot Telegram (da @BotFather).

Installazione

  1. Clona la repository:

    git clone [https://github.com/TUO_USERNAME/pin-security-project.git](https://github.com/TUO_USERNAME/pin-security-project.git)
    cd pin-security-project
  2. Crea un file .env nella root e inserisci il tuo token (opzionale, o inseriscilo nel docker-compose):

    TELEGRAM_TOKEN=il_tuo_token_qui
  3. Avvia i container:

    docker compose up --build
  4. Inizializza il Database (Passaggio Cruciale): Apri un terminale e lancia questo comando per configurare la mappa:

    curl -X PUT "localhost:9200/pin-security-events" -H 'Content-Type: application/json' -d'
    {
      "mappings": {
        "properties": {
          "location": { "type": "geo_point" },
          "timestamp": { "type": "date" },
          "score": { "type": "integer" },
          "status": { "type": "keyword" },
          "pin": { "type": "keyword" }
        }
      }
    }'

πŸ“Š Utilizzo

  1. Apri il bot su Telegram.
  2. Invia la tua Posizione (πŸ“Ž -> Location).
  3. Scrivi un PIN (es. 1234).
  4. Apri Kibana a http://localhost:5601 per vedere l'analisi in tempo reale.

πŸ› οΈ Tecnologie

  • Python 3.9
  • Apache Kafka 3.7 (KRaft)
  • Apache Spark 3.4.2
  • Elastic Stack 8.11 (Elasticsearch + Kibana)
  • Docker Compose# pin_security_project

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 88.0%
  • Shell 6.8%
  • Dockerfile 5.2%