Didattica · Coding · Cloud

Insegna. Programma.
Ovunque.

reCoding e' la piattaforma cloud completa per la didattica e lo sviluppo web. Tutor AI educativo, quiz interattivi stile Kahoot, classe virtuale, esami con lockdown, videochiamate, terminale sandbox, VS Code nel browser, chat cifrata, portfolio tracker. Tutto in un'interfaccia desktop OS-like, sicura e accessibile da qualsiasi browser.

reCoding — desktop

Tutto cio che serve.
In un unico ambiente.

Ambiente di sviluppo completo, strumenti didattici avanzati e collaborazione sicura. Per docenti, studenti e sviluppatori.

🖥

Desktop OS-like

Interfaccia desktop completa con finestre draggabili, ridimensionabili, minimizzabili e massimizzabili. Taskbar con app in esecuzione, start menu, orologio. Sfondi personalizzabili: immagini, gradient, colori solidi con color picker. Dimensione icone configurabile. Drag & drop file sul desktop.

Window Manager

Terminale WebGL

xterm.js con rendering GPU-accelerato via WebGL, resize automatico e URL cliccabili. Sandbox bubblewrap con namespace PID/IPC isolati, filesystem read-only, home scrivibile. Ogni utente e' un account Linux reale (rc_N).

xterm.js + bwrap
📝

Editor di Codice

Editor multi-tab basato su Ace con syntax highlighting, autocompletamento, tree view laterale stile Explorer. Anteprima Markdown e PDF, indicatore modifiche non salvate, Ctrl+S per salvare. Pulsante Visualizza per preview live.

Ace Editor
💻

VS Code nel Browser

code-server integrato: VS Code completo con estensioni, IntelliSense, debug e terminale integrato. Avviato on-demand per ogni utente con UID Linux reale. Idle timeout automatico per risparmiare risorse.

Premium / Pro
📁

File Manager Grafico

Gestore file con tema dark. Upload drag & drop, ordinamento colonne, selezione multipla, rinomina, elimina, crea cartella. Context menu con azioni rapide. Estrazione e compressione ZIP integrata con protezione zip-slip.

Drag & Drop
🗂

Database MySQL per Utente

Ogni utente riceve un database MySQL dedicato (db_rc_N) con utente isolato. Gestione tramite Adminer con auto-login server-side. Credenziali mai esposte al client.

Adminer v5
💻

Hosting PHP per Utente

Ogni utente ha le proprie pagine web accessibili pubblicamente. PHP-FPM con pool dedicato per utente, funzioni pericolose disabilitate, open_basedir, limiti memoria e tempo di esecuzione.

PHP-FPM
📄

Collabora Office

Editing documenti Office (docx, xlsx, pptx, odt, ods, odp) direttamente nel browser tramite Collabora Online. Integrazione WOPI con gestione token e lock. Apri file Office dal file manager o dal desktop con un click.

Opzionale
🎵

Player Audio

Player stile Spotify con visualizzatore spectrum analyzer, libreria file con scansione ricorsiva, playlist persistente per utente. Lettura metadati ID3 (titolo, artista, album, anno, genere). Shortcut da tastiera, shuffle, repeat.

Web Audio API
💬

Chat Cifrata E2E

Messaggistica real-time con crittografia end-to-end. Sistema amicizie (richiesta, accetta, rifiuta, blocca), conversazioni dirette e di gruppo, upload allegati fino a 50MB. Presenza online e typing indicator via WebSocket dedicato.

E2E Encrypted
📈

Portfolio Tracker

Tracker azioni e criptovalute con quotazioni real-time via Yahoo Finance. Dashboard con calcolo gain/loss, supporto EUR/USD, cache intelligente con TTL 30s. Aggiungi, modifica e monitora i tuoi asset.

yahoo-finance2
👥

Condivisione File

Condividi file e cartelle con altri utenti con permessi granulari: lettura, scrittura, esecuzione. Navigazione a 3 livelli, richieste pendenti con accetta/rifiuta. Le condivisioni con permesso execute vengono montate nella sandbox.

File Sharing
👤

Profili Utente

Profilo personale con avatar (JPG/PNG/WebP/GIF), nome, cognome, nickname, bio e telefono. I dati del profilo sono visibili nella chat, nel desktop e nelle sfide tra amici.

Avatar + Bio
📝

Note

App Note integrata nel desktop per appunti rapidi. Interfaccia semplice e veloce, salvataggio persistente per utente. Sempre a portata di click dal menu Start.

Quick Notes
📦

App Store

Store integrato per installare app custom. L'admin pubblica app personalizzate con icona, URL e categoria. Gli utenti le trovano nello store e nel menu Start. Installazione e disinstallazione con un click.

Custom Apps
📦

Tool Condivisi dall'Admin

L'admin installa tool (opencode, pip, cargo, bun, npm) una volta sola. Tutti gli utenti li trovano automaticamente nel PATH, montati read-only in /shared/. Configurabile via SHARED_DIRS.

SHARED_DIRS

OpenCode AI

Lancia OpenCode direttamente dal desktop con un doppio click. Si apre in un terminale dedicato, pronto per il coding assistito da AI. API keys ANTHROPIC e OPENAI iniettate automaticamente nella sandbox.

AI Coding

WebSocket Real-time

Comunicazione bidirezionale in tempo reale per terminale, chat, quiz e videochiamate. Comunicazione inter-app via postMessage per apertura file, navigazione e aggiornamento icone desktop. Quattro WebSocket server dedicati.

ws + node-pty
🤖

Il tuo Docente — Tutor AI

Chatbot educativo stile ChatGPT che guida gli studenti con il metodo socratico: spiega, suggerisce e fa domande, senza dare soluzioni pronte. Storico conversazioni, streaming risposte, rendering Markdown. Rate limit orario per provider di sistema, illimitato con provider personali.

AI Tutor
🎥

Videochiamate

Chiamate video e audio in tempo reale tra amici. WebSocket dedicato per segnalazione, connessione peer-to-peer. Integrato nel desktop con lista amici online e avvio rapido.

WebRTC
🏫

Classe Virtuale

Il docente crea una sessione di classe e gli allievi partecipano con un codice. Ambiente interattivo per lezioni live con condivisione schermo, chat di classe e gestione presenze in tempo reale.

Classroom
🎨

miniPaint — Editor Immagini

Editor di immagini completo integrato nel desktop. Livelli, filtri, strumenti di disegno, testo, ritaglio e trasformazioni. Apri immagini dal file manager con un click. Salva direttamente nella tua home.

Image Editor
📷

Galleria Foto

App galleria per visualizzare le immagini della tua home. Vista griglia e lista, navigazione cartelle, lightbox per visualizzazione a schermo intero con navigazione frecce.

Photo Gallery
📄

md2pdf — Markdown to PDF

Convertitore Markdown integrato con preview live, sintassi estesa e generazione PDF. Scrivi in Markdown e ottieni documenti PDF pronti da scaricare o condividere.

Markdown + PDF
🧮

Calcolatrice Scientifica

Calcolatrice scientifica integrata nel desktop, sempre a portata di click. Funzioni trigonometriche, logaritmiche, esponenziali, parentesi e cronologia calcoli. Interfaccia compatta inline.

Inline App
📈

Monitor Sistema

Dashboard di monitoraggio delle risorse del server: CPU, RAM, disco, uptime. Visualizzazione in tempo reale per tenere sotto controllo l'utilizzo delle risorse del tuo ambiente.

System Monitor

Provider IA Personali

Gestisci i tuoi provider AI (OpenAI, Anthropic, Groq, Mistral...) dall'app dedicata o direttamente dal Tutor. Inserisci la tua API key e usa qualsiasi modello LLM compatibile. Provider di sistema configurati dall'admin disponibili per tutti.

Multi-LLM

Un vero desktop.
Nel tuo browser.

Finestre multiple, app professionali, ambiente di sviluppo completo. Tutto accessibile da qualsiasi dispositivo con un browser.

App Store di reCoding con simulazioni PhET, IDE e strumenti

App Store integrato

Decine di app pronte da installare con un click: simulazioni scientifiche PhET (Algoritmi, Circuiti, Idrogeno, Gamelab), strumenti di sviluppo, editor e molto altro. Ogni app si apre in una finestra indipendente del desktop, proprio come un sistema operativo reale.

20+App disponibili
7Categorie
1 clickPer installare
Simulazioni Strumenti Produttivita Multimedia
Desktop reCoding con miniPaint, Editor e Quiz aperti contemporaneamente

Multitasking reale

Apri piu app contemporaneamente: editor di immagini miniPaint, editor di codice e quiz interattivi, tutto nella stessa sessione. Le finestre sono draggabili, ridimensionabili e minimizzabili. La taskbar mostra le app attive, esattamente come un desktop tradizionale.

Finestre aperte
4Desktop virtuali
44pxTaskbar
Window Manager miniPaint Quiz live Drag & Drop
Desktop reCoding con Editor di codice Java, miniPaint e Terminale

Sviluppa, testa, pubblica

Editor di codice con syntax highlighting e tree view, terminale Linux con sandbox bubblewrap, editor di immagini — tutto integrato. Scrivi codice Java, Python o PHP, compilalo nel terminale e visualizza il risultato. Ogni utente ha il proprio account Linux reale e hosting PHP dedicato.

100+Linguaggi
bwrapSandbox
PHPHosting
Ace Editor Terminale WebGL Java / Python / PHP Sandbox Linux

Quiz, esami e sfide.
La didattica diventa interattiva.

Strumenti completi per docenti e studenti: tutor AI educativo, quiz stile Kahoot, classe virtuale, esami con lockdown desktop, allenamento personalizzato e sfide tra amici.

🎯

Quiz Live stile Kahoot

Il docente avvia un quiz e gli studenti partecipano in tempo reale. Domande a scelta multipla e vero/falso con timer. Classifica live aggiornata via WebSocket, animazioni di transizione e feedback immediato. Codice a 5 caratteri per unirsi.

Real-time WebSocket
🤖

Generazione Domande con AI

Genera domande automaticamente con intelligenza artificiale. Supporto per piu provider LLM. Specifica argomento, difficolta e numero di domande. Le domande generate vengono salvate nella banca dati del docente.

Multi-LLM
📚

Banca Domande

Organizza le domande in macro-categorie e categorie. Filtra per origine (umana o AI), difficolta, categoria. Infinite scroll per navigare grandi archivi. Tipi di domanda: scelta multipla e vero/falso.

Infinite Scroll
🏋

Modalita Allenamento

Gli studenti si allenano in autonomia scegliendo categoria, difficolta e numero di domande. Feedback immediato su ogni risposta con spiegazione. Cronologia completa delle sessioni di allenamento.

Training Mode

Sfida tra Amici

Crea una sfida privata con codice a 5 caratteri, scegli le domande e invita i tuoi amici. Countdown prima dell'inizio, classifica finale con tempo e punteggio. Confronta i risultati nella cronologia.

Challenge Mode
📊

Cronologia Partecipazioni

Storico completo di ogni quiz, allenamento e sfida. Rivedi le risposte date, il punteggio ottenuto, il tempo impiegato. Analizza i punti di forza e le aree di miglioramento.

Review Mode
📝

Verifiche Scritte con Lockdown

Il docente crea una verifica con codice a 8 caratteri, carica allegati e sceglie le app consentite. Il desktop dell'allievo si blocca in modalita lockdown: solo le app autorizzate sono visibili. Timer server-side, heartbeat ogni 5s.

Lockdown Desktop
📊

Dashboard Docente Live

Monitoraggio real-time degli allievi: stato online/offline, consegna, timer countdown. Visualizza e scarica file di ogni allievo. Download ZIP individuale o di tutte le consegne con streaming (archiver).

Polling 3s
📂

Isolamento File in Verifica

Durante una verifica, l'allievo vede solo le cartelle della prova: allegati (read-only, chmod 444/555) e consegna (scrivibile). I file della home restano nascosti. Terminale opzionalmente ristretto.

File Isolation
🤖

Tutor AI — Il tuo Docente

Chatbot educativo con metodo socratico: guida lo studente passo passo senza dare soluzioni pronte. System prompt non bypassabile, rendering Markdown, streaming risposte, storico conversazioni. Rate limit orario per provider. Supporta qualsiasi provider OpenAI-compatibile.

AI Tutor
🏫

Classe Virtuale

Il docente avvia una sessione di classe live. Gli allievi partecipano con un codice. Ambiente interattivo per lezioni con gestione presenze real-time, heartbeat e sincronizzazione via WebSocket dedicato.

Live Classroom
🎥

Videochiamate tra Amici

Avvia videochiamate e chiamate audio con i tuoi amici direttamente dal desktop. Lista amici online, connessione peer-to-peer con WebRTC, segnalazione via WebSocket dedicato.

WebRTC

Progettato per la produzione

Architettura modulare con reverse proxy, WebSocket multipli, sandbox a piu livelli e isolamento completo per utente.

Client

Browser
xterm.js + WebGL
WebSocket x4

Nginx

HTTPS + SSL
WS proxy + auth_request
PHP-FPM per utente

Express

Auth + API + Quiz + AI
18+ router modulari
Session MySQL

Backend

node-pty + bwrap
code-server proxy
yahoo-finance2

📁 Struttura modulare

  • server.js — Express + 4 WebSocket + proxy code-server
  • db.js — MySQL pool, 200+ funzioni CRUD, migration auto
  • routes/ — 18+ router (auth, files, chat, quiz, tutor, shares...)
  • code-server-manager.js — Lifecycle VS Code per utente
  • linux-users.js — Utenti Linux + PHP-FPM pool
  • websocket-chat.js / quiz / call / classroom
  • views/ — 23+ pagine (desktop, quiz, tutor, chat, classe...)

🔀 Flusso autenticazione

  • Registrazione email + password (validata)
  • Approvazione admin con ruolo (user/docente)
  • Crea utente Linux rc_N + DB MySQL + PHP-FPM pool
  • Login: password scrypt → OTP 6 cifre via email
  • Sessione Express 24h su MySQL store
  • WebSocket verifica sessione su upgrade

📊 Database MySQL

  • users — email, role, plan, quota, linux_user, profilo, PIN
  • verifiche, verifica_partecipanti, verifica_allegati
  • quiz, quiz_questions, quiz_sessions, quiz_participants
  • chat_friends, chat_conversations, chat_messages
  • portfolio_assets, file_shares, subscriptions
  • otp_codes, logs, sessions, custom_apps
  • tutor_conversations, tutor_messages, tutor_anonymous_log
  • 30+ tabelle, query parametrizzate, migration auto, utf8mb4

🔒 Sandbox a 3 livelli

  • bwrap (Linux): namespace PID/IPC, fs read-only, clearenv
  • jail (fallback): override cd + symlink condivise
  • none (Windows/admin): solo logging
  • Tool condivisi: ro-bind su /shared/ (SHARED_DIRS)
  • File condivisi: extra bind mounts per utente
  • Selezione automatica in base a piattaforma

Sicurezza a ogni livello

Dalla rete al filesystem, ogni strato e' progettato per proteggere dati e utenti. Defense in depth con isolamento multiplo.

👤

Utenti Linux reali + Bubblewrap

Ogni utente e' un account di sistema (rc_N) con uid/gid unico. Il terminale gira come il vero utente. Sandbox bubblewrap con namespace PID/IPC isolati, filesystem read-only, home scrivibile dedicata, ambiente pulito con clearenv.

🔒

Autenticazione 2FA con OTP

Login con email + password hashata (scrypt + salt random 16 byte) + codice OTP a 6 cifre via email. OTP monouso con scadenza 5 minuti. Confronto con timingSafeEqual contro timing attack. Rate limiting su login e verify.

🔒

PIN Blocco Desktop

Proteggi il desktop con un PIN a 4-6 cifre. Lock screen con orologio e avatar, auto-lock su inattivita configurabile (1-60 min), shortcut Ctrl+L. PIN cifrato AES-256-CBC, recupero via email. Non interferisce con il lockdown verifiche.

📋

Clipboard granulare nelle verifiche

Il docente sceglie la modalita clipboard: nessuna, solo interno, solo esterno o entrambe. Il clipboard di sistema viene intercettato e sostituito da uno interno JavaScript. Intercetta Ctrl+C/V/X e supporta Ace editor, input, contentEditable.

💬

Crittografia E2E nella Chat

I messaggi sono cifrati lato client prima dell'invio. Chiavi pubbliche/private per utente con salt. Nemmeno il server puo leggere i messaggi in chiaro. WebCrypto API.

📁

File Manager sicuro

Protezione path traversal con resolveUserPath(), verifica anti-symlink con realpath, sanitizzazione filename. Limiti upload (100MB, 20 file). Protezione zip-slip su estrazione archivi. Auto-revoca condivisioni su delete.

🛡

HTTPS + Reverse Proxy + Rate Limiting

Nginx gestisce SSL/TLS con Let's Encrypt. Rate limiter su login, OTP, upload e chat upload. Query parametrizzate su tutte le query MySQL. Sessioni persistite su MySQL store.

👥

Ruoli e permessi granulari

Tre ruoli: Admin, Docente, User. App visibili in base al ruolo e al piano. Condivisioni file con permessi lettura/scrittura/esecuzione. Database isolato per utente. PHP-FPM con open_basedir.

📑

Audit trail completo

Ogni azione registrata con IP, timestamp e severity: login, logout, comandi, upload, download, rinomina, eliminazione, quiz, chat, portfolio. Filtrabile per email e tipo nel pannello admin.

Controllo totale.
Gestione semplice.

Pannello admin completo per gestire utenti, ruoli, piani, app custom e monitorare ogni attivita della piattaforma.

Admin

Controllo completo
  • Approva/rifiuta utenti con selezione ruolo
  • Gestione utenti: modifica ruolo, piano, stato
  • Log attivita con filtri e statistiche
  • Pubblica app custom con icona nello Store
  • Installa tool condivisi per tutti gli utenti
  • Assegna piani manualmente (Free/Premium/Pro)
  • Nessun sandbox, accesso completo al sistema

Docente

Strumenti didattici completi
  • Crea quiz con banca domande e AI generation
  • Avvia quiz live stile Kahoot con classifica
  • Crea verifiche scritte con lockdown desktop
  • Dashboard real-time allievi con download ZIP
  • Gestisce allegati e app consentite per verifica
  • Controlla clipboard degli allievi durante esami
  • Avvia sessioni di Classe Virtuale live
  • Tutte le app utente + strumenti didattici

Utente

Ambiente di sviluppo completo
  • Desktop OS-like con tutte le app base
  • Terminale, Editor, File Manager, Note
  • Database MySQL + Adminer + Hosting PHP
  • Chat cifrata, Portfolio, Player, Videochiamate
  • Tutor AI per studio assistito
  • Partecipa a quiz, allenamenti e sfide
  • Partecipa a verifiche scritte del docente
  • Condivisione file con altri utenti

Tecnologie scelte con cura

Ogni componente e' selezionato per affidabilita, performance e semplicita di deployment.

Node.jsRuntime
ExpressHTTP Server
WebSocketRealtime x4
node-ptyPTY Emulation
MySQLDatabase
xterm.jsTerminal UI
Ace EditorCode Editor
WebGLGPU Render
PHP-FPMPer-User Hosting
AdminerDB Manager
code-serverVS Code Browser
BubblewrapSandbox
NginxReverse Proxy
NodemailerSMTP Email
MulterFile Upload
adm-zipZIP / archiver
dotenvConfigurazione
Web AudioAudio Player
yahoo-finance2Stock Quotes
WebCryptoE2E Encryption
PM2Process Manager
crypto.scryptPassword Hash
Let's EncryptSSL/TLS
PayPalSubscriptions
CollaboraOffice Editor
OpenAI APIAI Tutor
SSE StreamingAI Responses
WebRTCVideo Calls

Scegli il piano giusto per te

Inizia gratis con tutte le funzionalita base. Passa a Premium o Pro per sbloccare VS Code, piu spazio disco e funzionalita avanzate.

Free

0
per sempre
  • Desktop OS-like completo
  • Terminale WebGL con sandbox
  • Editor Ace + File Manager
  • Database MySQL + Adminer
  • Hosting PHP dedicato
  • Chat cifrata E2E
  • Tutor AI educativo
  • Quiz, allenamento, sfide
  • Player audio + Portfolio + Videochiamate
  • Note + Galleria + miniPaint + md2pdf
  • Condivisione file + Calcolatrice
  • 1 GB spazio disco
  • VS Code nel browser
  • Collabora Office
Inizia Gratis

Pro

3.99€/mese
fatturazione mensile
  • Tutto il piano Premium
  • 10 GB spazio disco
  • VS Code con tutte le estensioni
  • Risorse dedicate (CPU, RAM)
  • Supporto dedicato
Scegli Pro