💡

Hai un'idea? Trasformiamola in realta!

Le migliori applicazioni nascono da un bisogno reale. Che tu sia uno studente che cerca uno strumento per studiare meglio, un docente con un'idea per rendere la lezione piu coinvolgente, o semplicemente qualcuno con una buona intuizione — la tua proposta conta.

1. Descrivi

Raccontaci la tua idea: cosa dovrebbe fare l'app e perche sarebbe utile.

🔬
2. Valutiamo

Il team analizza la fattibilita e il valore didattico della proposta.

🚀
3. Realizziamo

Se approvata, l'app viene sviluppata e pubblicata su O-Hub!

📝 La tua proposta
Minimo 20 caratteri — non servono dettagli tecnici, basta l'idea!
Aiutaci a capire il valore educativo della tua proposta.
💻
Hai gia il codice? Allegalo!

Opzionale — Se hai gia sviluppato un prototipo o il codice completo, incollalo qui sotto. Lo valuteremo!

Incolla il contenuto del file index.html (e eventualmente altri file separati da commenti). Il codice sara sottoposto a revisione di sicurezza prima della pubblicazione.

Ogni proposta viene letta e valutata personalmente. Non esistono idee sbagliate — solo idee che aspettano di essere realizzate!

🛠 Specifiche Tecniche per lo Sviluppo

Se vuoi sviluppare tu stesso l'app, ecco le linee guida tecniche da seguire. Il rispetto di queste regole accelera la valutazione e la pubblicazione.

📁 Struttura dei file

mia-app/
  index.html — Pagina principale (obbligatoria)
  appinfo.txt — Metadati (generato automaticamente dall'admin)
  assets/ — CSS, JS, immagini proprie
  data/ — File JSON per la persistenza dati
  uploads/ — File caricati dagli utenti (se necessario)

📜 Licenza Open Source

Tutte le app pubblicate su O-Hub devono essere rilasciate sotto licenza GNU GPL v3 o compatibile. Questo significa che il codice sorgente resta aperto, modificabile e redistribuibile. Inserisci un commento in testa al file HTML:

<!-- Licenza: GNU GPL v3 — https://www.gnu.org/licenses/gpl-3.0.html -->

🗃 Niente Database — Usa file JSON

Le app non hanno accesso al database di O-Hub. Per la persistenza dei dati usa:

  • localStorage / sessionStorage — per dati lato client (preferenze utente, stato temporaneo)
  • File JSON lato server — per dati condivisi, salvati nella cartella data/ dell'app
  • Se l'app ha un backend PHP, usa json_encode() / json_decode() per leggere e scrivere i file
  • Ogni file JSON deve avere permessi 0644 e la cartella data/ permessi 0755

🔒 Privacy e Sicurezza

La protezione dei dati degli utenti e una priorita assoluta:

  • Mai raccogliere dati personali (nome, email, codice fiscale, indirizzo, telefono) senza motivo esplicito e approvazione
  • Mai salvare password o credenziali di accesso di nessun tipo
  • Mai inviare dati a servizi esterni (analytics, CDN di terze parti, API esterne) senza approvazione
  • I file caricati dagli utenti devono essere cancellati automaticamente (max 1 ora di retention)
  • Nessun cookie di tracciamento — solo cookie tecnici se strettamente necessari
  • Tutte le risorse (font, CSS, JS) devono essere ospitate localmente, non caricate da CDN esterni (eccetto Google Fonts che e consentito)
  • Ogni input utente deve essere sanitizzato sia lato client che lato server per prevenire XSS e injection

⚙ Stack Tecnologico

  • Frontend: HTML5, CSS3, JavaScript vanilla (ES6+). No framework pesanti (React, Vue, Angular) a meno che non sia giustificato
  • Backend (opzionale): PHP 8+ — niente framework, script semplici e autonomi
  • Dati: File JSON, localStorage, sessionStorage
  • Nessuna dipendenza esterna obbligatoria — l'app deve funzionare in isolamento
  • Responsive: L'app deve funzionare su desktop, tablet e smartphone
  • Accessibilita: Usa tag semantici, attributi alt, aria-label dove necessario

🎨 CSS Framework Condiviso di O-Hub

Per garantire coerenza visiva tra tutte le app, O-Hub fornisce un CSS framework condiviso. E obbligatorio usarlo come base, poi puoi aggiungere stili specifici per la tua app.

<link rel="stylesheet" href="/o/assets/ohub-apps.css">

Il framework include:

  • Reset e tipografia — Font Inter, dimensioni coerenti, colori armonici
  • Variabili CSS--app-primary, --app-accent, --app-bg, --app-text, ecc.
  • Componenti pronti — Card, bottoni, form, alert, badge, tabelle, toast, modal, tabs
  • Componenti per app — Upload zone, tool card, file list, progress bar, result area
  • Tema scuro di default — Le app girano nell'iframe di O-Hub con sfondo scuro
  • Supporto tema chiaro — Aggiungi classe ohub-light al body se necessario
  • Responsive — Breakpoint a 768px e 480px gia inclusi
  • Utilities — Spacing, flex, grid, text helpers con prefisso app-

Esempio minimo di struttura HTML:

<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Nome App</title>
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="/o/assets/ohub-apps.css">
</head>
<body>

<!-- NON aggiungere un header: O-Hub lo fornisce gia
     nella barra superiore dell'iframe container -->

<div class="app-container">
    <!-- Il contenuto della tua app qui -->
</div>

</body>
</html>

✅ Checklist pre-invio

☐ Il file index.html e presente e funzionante
☐ Il CSS condiviso di O-Hub (ohub-apps.css) e importato
☐ Licenza GPL v3 indicata nel codice
☐ Nessun dato personale raccolto o salvato
☐ Nessuna richiesta a servizi esterni non approvati
☐ Nessun accesso diretto al database
☐ L'app funziona su mobile (responsive)
☐ Input utente sanitizzato (anti-XSS)
☐ File caricati dagli utenti con auto-cancellazione
☐ Il codice e leggibile e commentato nei punti chiave