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.
Raccontaci la tua idea: cosa dovrebbe fare l'app e perche sarebbe utile.
Il team analizza la fattibilita e il valore didattico della proposta.
Se approvata, l'app viene sviluppata e pubblicata su O-Hub!
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 propriedata/ — File JSON per la persistenza datiuploads/ — 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
0644e la cartelladata/permessi0755
🔒 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-labeldove 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-lightal 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
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