JJordy
Alle projecten

Codekamp

Een Nederlandstalig platform waar je leert programmeren, stap voor stap en zonder iets te installeren.

Type
Leerplatform
Mijn rol
Ontwerp, code, server
Techniek
JavaScript, Node.js, WebAssembly
Live
code-kamp.nl
Homepage van Codekamp met de tekst: Leer programmeren, stap voor stap

Het doel

Wie in het Nederlands wil leren programmeren, vindt vooral Engelstalig materiaal of losse video's. Codekamp brengt alles samen op één plek: duidelijke lessen in gewone taal, gratis, en zonder dat je eerst software hoeft te installeren.

Wat ik bouwde

  • Tien cursussen: HTML, CSS, JavaScript, SQL, Python, Java, PHP, C, C++ en C#. Samen ruim 400 lessen, met uitleg per regel code en naslagpagina's.
  • De Academy: je typt je eigen code, ziet meteen het resultaat en krijgt direct te horen of je opdracht klopt. Met hints, en de oplossing pas na twee pogingen.
  • Code in de browser: Python, SQL en PHP draaien echt in de browser via WebAssembly (Pyodide, sql.js en php-wasm). Die staan op de eigen server, niet op een externe dienst.
  • Accounts en voortgang: je voortgang wordt bewaard, en bij een afgeronde cursus krijg je een certificaat.
  • Voor docenten: een eigen omgeving om klassen te volgen.
  • Beheerpaneel met gebruikers, feedback, logboek en per les een overzicht van waar leerlingen vastlopen.
Een les in de Codekamp Academy: links de uitleg en opdracht, rechts de code-editor met knoppen Uitvoeren en Controleer
Een les in de Academy: uitleg en opdracht links, editor en resultaat rechts.

Veiligheid

  • Een strikte Content-Security-Policy. Code van leerlingen draait apart in een afgeschermd frame.
  • Het beheerpaneel laadt pas nadat Nginx heeft gecontroleerd of je bent ingelogd.
  • Een eigen bouwstap die de code verkleint en afschermt voordat die online gaat.
  • DNSSEC op het domein, en mailinstellingen die misbruik van het domein voorkomen.

Testen

Automatische tests draaien de site in een onzichtbare browser, ook in de strikte beveiligingsmodus. Zo zie ik voor het online zetten al of er iets stuk is.

Een website of platform laten bouwen?

Neem contact op