Informatii generale
- Categorie: Educational
- Judetul: Timiș
Descriere
MBDLearn este o platformă educațională online care îi ajută pe elevi să învețe programare web – HTML, CSS și JavaScript – prin lecții structurate, ușor de urmărit. Platforma este însoțită de ateliere gratuite desfășurate fizic, fiind gândită special pentru tineri între 14 și 18 ani care vor să își dezvolte abilitățile digitale într-un mod practic și accesibil.
Tehnologii
Frontend
- Framework: Nuxt 3 (Vue 3 + Composition API), care oferă atât Server-Side Rendering (SSR) cât și Static Site Generation (SSG) pentru o încărcare rapidă și SEO optimizat.
- Stilizare: TailwindCSS utilizat pentru design modular, responsive și personalizabil, fără dependențe grele suplimentare.
Structură:
- Rutare automată pe baza structurii de fișiere (folderul pages/), cu navigare dinamică între module și lecții.
- Componente reactive și reutilizabile, dezvoltate custom pentru interfața utilizatorului.
- Editor de cod integrat:
- Complet custom, fără biblioteci terțe (ex. CodeMirror/Monaco), pentru editare live HTML/CSS/JS.
- Feedback instant pentru exerciții practice.
Backend
- Stack: Node.js API server care expune endpoint-uri REST pentru gestionarea conținutului educațional și a utilizatorilor.
- Bază de date: MongoDB, utilizată pentru stocarea dinamică a:
- Lecțiilor și modulelor educaționale (structurate JSON cu cod, descrieri, exemple).
- Conturilor utilizatorilor și autentificării (JWT).
- Progresului individual, execuțiilor codului și rezultatelor exercițiilor.
- Integrare cu WebSocket pentru colaborare în timp real.
- Autentificare:
- Sistem JWT securizat pentru autentificare și sesiuni persistente.
- Protecție a rutei API prin middleware personalizat.
API:
- Date serializate JSON, comunicare eficientă între frontend și backend.
Infrastructură & Deployment
- Aplicația este găzduită pe un server dedicat cu:
- Nginx configurat ca reverse proxy pentru gestionarea traficului HTTP/HTTPS.
- Certificat SSL activ (Let’s Encrypt).
- Backend-ul rulează în Docker pentru izolarea proceselor și scalabilitate.
- MongoDB instalat local, cu proceduri automate de backup.
Domeniu custom: learn.mbd.one.
Scalabilitate și extensibilitate
- Arhitectura modulată permite adăugarea facilă de noi cursuri, module și funcționalități.
- Planuri pentru integrare AI în evaluarea automată a codului și personalizarea cursurilor.
Cerinte sistem
Pentru utilizatori finali (frontend):
- Dispozitive suportate: desktop, laptop, tabletă, smartphone
- Browser compatibil (latest version recomandat):
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Safari
- Resurse minime recomandate:
- CPU dual-core 1.5 GHz+
- Memorie RAM 2 GB+
- Conexiune internet stabilă (cel puțin 5 Mbps) pentru încărcarea modulelor și sincronizarea progresului
- Nu necesită instalare, se accesează direct din browser
Pentru server (backend și hosting):
- Sistem de operare: Linux (Ubuntu 22.04+ recomandat) sau echivalent
- Procesor: minim 4 core CPU (recomandat 8+ core pentru scalabilitate)
- Memorie RAM: minim 8 GB (recomandat 16 GB+)
- Stocare: SSD minim 100 GB (pentru baze de date, fișiere și backup)
- Software necesar:
- Node.js 18+ LTS (pentru API backend)
- MongoDB 6+ (baza de date)
- Nginx (reverse proxy, SSL termination)
- Docker (pentru containere backend și servicii auxiliare)
- Conexiune la internet stabilă, cu bandă minimă 100 Mbps
- Certificat SSL valabil (Let’s Encrypt automatizat)
Realizatori
Daniel Hnatiuc
- Scoala: Liceul Teoretic Jean Louis Calderon
- Clasa: 12
- Judet: Timiș
- Oras: Giroc