# 🌌 05 Piano di Sviluppo: Web App PWA "Calendario Lunare Puro 12026 HE & Grimorio"

Sviluppo dell'applicazione web progressiva (PWA) autonoma, responsive e installabile su smartphone (Android/iOS) e desktop, con **segregazione totale dei dati personali in locale**, **interscambio schede Grimorio P2P/comunitario** e **meccanismo di controllo aggiornamenti dal server centrale Netsons (`sicrenacc.info`)**.

---

## 🏛️ Architettura Generale del Sistema

```mermaid
flowchart TD
    subgraph Client ["📱 Client / Smartphone / Browser (Local-First)"]
        UI["🎨 Interfaccia PWA (HTML5, Modern CSS, Modular JS)"]
        Engine["🌙 Motore Astronomico Lunare & Ciclo Metonico"]
        Storage[("🔒 Local Database: IndexedDB / LocalStorage<br>(Note private, Grimorio, Eventi, Backup JSON)")]
        SW["⚙️ Service Worker (Cache Offline PWA)"]
        CardShare["📤/📥 Grimoire Card Exchanger (QR Code / JSON / P2P)"]
    end

    subgraph Server ["🌐 Host Netsons (sicrenacc.info)"]
        StaticApp["📦 File Statici PWA (index.html, css, js, asset)"]
        UpdateManifest["📡 version.json / feed.json<br>(Controllo Aggiornamenti & Annunci Broadcast)"]
        CommunityHub["📜 Grimoire Community Hub (Bacheca condivisa pratiche)"]
    end

    UI <--> Storage
    UI <--> Engine
    UI <--> CardShare
    SW <--> StaticApp
    UI -.->|"Verifica periodica (One-way anonymous)"| UpdateManifest
    CardShare -.->|"Opzionale: importa/condividi pratiche"| CommunityHub
```

---

## 🔒 1. Meccanismo di Controllo Aggiornamenti & Privacy

1. **Segregazione dei Dati Personali (Zero-Knowledge / 100% Locale):**
   * Tutti i dati del diario giornaliero, i propositi, le note biologiche e le voci del Grimorio risiedono **esclusivamente nel database locale del browser (`IndexedDB` / `LocalStorage`)**.
   * Nessun server centrale memorizza, raccoglie o riceve mai i dati personali dell'utente.
2. **Controllo Aggiornamenti dal Server Centrale (`sicrenacc.info`):**
   * L'app interroga periodicamente (o all'avvio con connessione attiva) un endpoint statico leggero `version.json` ospitato su Netsons.
   * **Contenuto di `version.json`:**
     * `version`: Versione corrente dell'app (es. `"1.0.0"`).
     * `releaseNotes`: Note di rilascio e novità.
     * `announcement`: Messaggio o annuncio facoltativo per la comunità (es. avviso per il nuovo anno 12027 HE, mercati della terra, aggiornamenti filosofici).
     * `forceReload`: Flag per forzare l'aggiornamento della cache PWA se necessario.
   * **Comportamento UI:**
     * Se viene rilevata una nuova versione, compare un discreto badge/toast: *"✨ Nuova versione disponibile (v1.1.0) — Clicca per aggiornare"*.
     * Al clic, il Service Worker aggiorna la cache e ricarica l'interfaccia **senza minimamente intaccare o sovrascrivere il database locale**.

---

## 📜 2. Modello di Condivisione Schede Grimorio (*Grimoire Cards*)

Per consentire ai praticanti di scambiarsi ricette, incantesimi, mantra e best practices:
1. **Formato Standard Scheda (JSON):**
   * Metadati: Titolo, Categoria (*Rituale, Erbario/Ricetta, Mantra/Preghiera, Proposito, Sogno*), Chakra associato (1-7), Luna/Fase consigliata, Autore/Pseudonimo, Testo/Procedimento, Ingredienti/Note.
2. **Condivisione Diretta & QR Code (Offline-First):**
   * Ogni scheda può essere esportata come file `.json`, copiata come testo formattato o proiettata come **QR Code** scansionabile da un altro praticante per l'importazione istantanea nel proprio Grimorio.
3. **Hub Comunitario su `sicrenacc.info` (Predisposizione):**
   * Sezione per consultare ricette verificate condivise dalla comunità e aggiungerle al proprio Grimorio con 1 clic (*"➕ Aggiungi al mio Grimorio"*).

---

## 🧩 3. Moduli e Funzionalità dell'Applicazione

### Modulo 1: Motore del Calendario & Le 3 Grandi Stagioni
* **Navigazione delle 13 Lune:**
  * 🌸 **Primavera (Il Risveglio):** *Lucinale, Fiorile, Linfale, Solare*
  * 🌾 **Dovizia (I Doni):** *Messidoro, Termidoro, Revigoro, Auridoro*
  * ❄️ **Inverno (Il Riposo):** *Brumale, Nivale, Vernale, Pluviale*
  * ✨ **La Soglia (Tempo Sospeso):** *Liminale*
* **Griglia dei 28 Giorni:** Visualizzazione dei 4 Quarti energetici (*Semina, Azione, Apice, Detox*) con la palette pastello identificativa.
* **Giorni di Reset (Luna Nera / Congiunzione):** 1 o 2 giorni di pausa fine mese con calcolo automatico per assorbire lo scarto sinodico reale.
* **Mappatura Astronomica & Festività:** Equinozi, Solstizi, Levata di Sirio a Ferragosto, festività civili/religiose e weekend evidenziati in rosso scuro.
* **Nodi della Ruota dell'Anno:** Schede informative interattive per gli 8 nodi stagionali (*Ostara, Beltane, Litha, Lughnasadh, Mabon, Samhain, Yule, Imbolc*).

### Modulo 2: Il Portale del Grimorio (*In Libro Nominis Umbra*)
* **Copertina Evocativa:** Grafica dark/alchemica con la Geometria Sacra, l'Uomo Vitruviano Energetico, la **Spirale Aurea d'Oro** e i 4 Poli di coscienza (*Immaginazione, Ragione, Sensazione, Sentimento*).
* **I 7 Yantra dei Chakra Interattivi:** Toccando i simboli autentici dei 7 Chakra (Radice, Sacrale, Plesso Solare, Cuore, Gola, Terzo Occhio, Corona), la spirale si anima e filtra le voci del Grimorio.
* **Editor del Grimorio:**
  * Catalogazione per sezioni: *Rituali & Incanti, Erbario & Ricette, Mantra & Preghiere, Propositi Lunari, Diario dei Sogni*.
  * Associazione alla Luna/Fase/Chakra e datazione solenne in Era Holocene (HE).
  * Funzione Esporta/Importa singola scheda e QR Code.

### Modulo 3: Diario Biologico Personale & Eventi Privati
* Modal per ciascun giorno del calendario: inserimento di eventi privati (compleanni, ricorrenze, ferie) e metriche di benessere (energia, sonno, note).
* Backup e Ripristino JSON: esportazione crittografata o in chiaro per conservare e migrare i propri dati in totale sicurezza.

### Modulo 4: Ecosistema Sicrenacc & Manifesto
* Sezione informativa che illustra il legame tra la **Sovranità del Tempo** (Calendario Naturale) e la **Sovranità del Valore** (Credito Naturale e moneta libera).
* Link diretto a `sicrenacc.info` e al simulatore.

### Modulo 5: PWA & Funzionamento Offline
* `manifest.json` configurato per installazione come app autonoma su Android, iOS e Desktop (icone, splashscreen, standalone display).
* `sw.js` (Service Worker) per caching intelligente e funzionamento 100% offline.

---

## 📂 Struttura File del Progetto

```
Calendario-lunare/
├── index.html                  # Singola pagina SPA (HTML5 semantico, accessibile e responsive)
├── manifest.json               # Configurazione PWA per installazione mobile/desktop
├── sw.js                       # Service Worker per cache offline e auto-aggiornamento
├── version.json                # File centrale su Netsons per controllo release e broadcast
├── css/
│   ├── main.css                # Design system: variabili, tipografia, layout fluido, dark mode
│   ├── calendar.css            # Stili specifici griglia 28gg, quarti pastello, reset
│   └── grimorio.css            # Stili copertina sacra, 7 chakra, spirale aurea, editor
├── js/
│   ├── app.js                  # Inizializzatore SPA, router a schede, PWA install prompt
│   ├── astro-engine.js         # Motore matematico: lune, sinodico, festività, conversioni HE
│   ├── calendar-view.js        # Rendering UI calendario, viste stagionali e dettagli giorno
│   ├── grimorio-view.js        # Portale Grimorio, geometria chakra, gestione ricette/rituali
│   ├── storage.js              # Interfaccia IndexedDB / LocalStorage con backup/export JSON
│   └── updater.js              # Modulo asincrono per il controllo versioni da sicrenacc.info
└── assets/
    ├── icons/                  # Icone PWA (192x192, 512x512)
    └── sacred_geometry.svg     # Vettore SVG ad alta precisione con l'essere, i 7 chakra e la spirale
```

---

## 🧪 Piano di Verifica e Collaudo

1. **Verifica Calcoli Calendario:**
   * Controllo corrispondenza di tutti i 383 giorni delle 13 Lune con le date gregoriane 2026/2027.
   * Verifica corretta alternanza dei giorni di reset R1/R2 e festività rosse.
2. **Verifica Grimorio e Chakra:**
   * Test di inserimento, modifica, eliminazione e filtraggio voci per ciascuno dei 7 Chakra e per le 5 categorie.
3. **Verifica Condivisione Schede & Storage:**
   * Test di esportazione/importazione singola scheda e backup completo JSON.
   * Test di persistenza dei dati al ricaricamento della pagina.
4. **Verifica PWA Offline & Aggiornamenti:**
   * Disattivazione della connessione di rete e verifica della completa fruibilità offline.
   * Simulazione di aggiornamento versione in `version.json` per testare la notifica di update.
5. **Verifica Responsive Mobile:**
   * Test di usabilità su schermi smartphone (360px–430px) e schermi desktop.
