Schoolportaal voor vier rollen, in één installatie
De schooldag, van de eerste bel tot de laatste factuur.
EduLink houdt het rooster, de cijfers, het huiswerk, het verzuim en de gesprekken van een school op één plek. Voor leerlingen, ouders, docenten en de schoolleiding. Daarnaast plant het losse muzieklessen in, runt het een kinderopvang en schrijft het een groepsrapport voor de basisschool.
De demoschool is een verzonnen school met eigen voorbeelddata en is op uitnodiging open. Je krijgt een eigen inlog, zodat je team kan rondkijken zonder dat er iemand meekijkt.
Eén inlog, vier blikken.
Elke rol ziet wat die rol nodig heeft, en niets daarbuiten. De server bepaalt dat bij elk verzoek opnieuw, ook als iemand zelf een adres intypt.
Leerling
ziet zichzelf- Rooster, cijfers en opdrachten, met wat er vandaag echt op het programma staat.
- Een studieplanner tot het einde van de periode, met eigen studiemomenten die niemand anders ziet.
- Woordkaarten, een focustimer en de vrije stukken van de dag.
Ouder
ziet het eigen kind- Per kind een eigen overzicht, met één knop om te wisselen.
- Afwezigheid melden, een ouderavond boeken, een activiteit aanmelden.
- Meelezen in een gesprek met een docent alleen als de mentor dat per kind goedkeurt.
Docent
ziet de eigen klassen- Rooster met uitval, cijfers invoeren, opdrachten en inleveringen.
- Verzuim beoordelen, een klas berichten, huiswerk in de planner zetten.
- Zorgsignalen voor de klas waar je mentor van bent, en niets daarbuiten.
Schoolbeheer
ziet de hele school- Personen, rollen, klassen, vakken en de koppeling tussen ouder en kind.
- Een doorzoekbaar auditlog van wat er is gewijzigd, door wie en wanneer.
- Inzicht per klas: cijfers, verzuim en openstaande zorg naast elkaar.
Dezelfde dinsdag, van 07:00 tot 17:00.
De onderdelen van EduLink zijn geen losse modules die je aan elkaar moet knopen. Ze delen één database, dus een cijfer, een absentie en een factuur gaan over dezelfde persoon.
Vier pakketten, één installatie.
Een school kiest bij het opzetten welk pakket hij runt: school, basisschool, muziekles en bijles, of kinderopvang. Later wisselen kan, zonder gegevens te verliezen.
Elke rol heeft een eigen inlog. Berichten, nieuwsbrieven, het lunchmenu, activiteiten, huisregels en studiehulp zitten in alle vier de pakketten.
| Onderdeel | School | Basisschool | Muziekles | Kinderopvang |
|---|---|---|---|---|
| School en basisschool | ||||
| Rooster met uitval en lokaalwijzigingen | ||||
| Cijfers, weging en trend per vak | ||||
| Opdrachten met inleverbevestiging | ||||
| Verzuim registreren en beoordelen | ||||
| Studieplanner tot het einde van de periode | ||||
| Zorgsignalen en het kindrecord | ||||
| Ouderavonden met boekbare momenten | ||||
| Bibliotheek en bronnen per klas | ||||
| Muziekles en bijles | ||||
| Losse en terugkerende lessen zonder klas | ||||
| Leskaarten met een saldo dat klopt | ||||
| Proeflessen met een vervolg | ||||
| Factuur per leerling per maand | ||||
| Kinderopvang | ||||
| Kinderen, dagdelen en het bord van vandaag | ||||
| Dagboekje per kind | ||||
| Contracten, maandstaat en factuur | ||||
| Groepen met plekken en personeelsplanning | ||||
| Online aanmelden met wachtlijst | ||||
| Kinddossier met documenten | ||||
| Basisschool | ||||
| Groepsrapport met verhaal en niveau per vak | ||||
Een onderdeel dat niet bij het pakket hoort, verdwijnt uit de navigatie, en de server antwoordt 404 als iemand het adres zelf intypt. Andersom is de opvang of de lesadministratie buiten dat pakket niet bereikbaar, ook niet voor een beheerder van een school.
Lessen die geen klas nodig hebben.
Voor de muziekschool, de bijlespraktijk of de zwemschool: leerlingen komen één of twee keer per week, betalen per maand en hebben geen rooster van vijf dagen. EduLink rekent in lessen en in geld, niet in klassen.
Een kinderopvang draait om uren, en om wie er is.
Kinderen zonder eigen account, ouders met een eigen inlog, en een administratie die klopt met wat er echt is gebracht en gehaald. Inclusief de dingen die opvangorganisaties jaarlijks moeten kunnen aantonen.
Een rapport dat je kunt lezen.
In plaats van een gemiddelde per vak: een verhaal per kind en een niveau per vakgebied, in de taal die de school al gebruikt. Voor de hele groep in één keer, met een PDF die je kunt printen of mailen.
Zo ziet het eruit.
Drie schermen uit de demo-installatie: de dag van een leerling, de lesadministratie van een muziekschool en het beheer van een school. Dezelfde software, drie pakketten.
Wat er bewust niet in zit.
Een belofte die niet klopt kost een school meer dan een ontbrekende knop. Dit zit er niet in, en dit is waarom.
Online betalen
EduLink int niets. De school zet haar eigen betaallink op de factuur, bij de bank of de betaaldienst die ze al gebruikt. Zo blijft het geld waar het hoort en hoeft er geen betaalprovider bij.
Een boekhoudkoppeling
Geen koppeling met een boekhoudpakket. De facturen komen als PDF uit en de uren als CSV, en de boekhouder doet de rest. Dat is saai, en het werkt met elk pakket.
Kinderopvangtoeslag
De maandstaat registreert uren en tarief. De toeslag berekenen hangt aan regels die per jaar veranderen, dus dat blijft buiten de software.
Medische gegevens op grote schaal
Een kinddossier kan een medische notitie bevatten, maar grootschalig gebruik daarvan vraagt nog een eigen privacytoets voordat het bij echte gezinnen draait. Liever dat dan doen alsof het al af is.
Een open API naar buiten
Geen koppelvlak waar derden bij kunnen. De uitvoer is CSV en PDF, de rest blijft binnen de installatie. Wie iets wil koppelen, doet dat op de database of via een export.
Een app in de winkel
EduLink is een website. Op een telefoon werkt hij en de leesinstellingen volgen het account, maar er is geen app om te installeren en geen meldingenpush.
Toegang, en wie hem geeft.
Een schoolportaal bevat namen, cijfers en zorgnotities. De rol van de bezoeker wordt bij elk verzoek op de server gecontroleerd, niet door het scherm verstopt.
Sessies
Een sessie is een willekeurig token in een HttpOnly-cookie; de server bewaart alleen de hash. Uitloggen, een wachtwoordwijziging of een deactivering trekt de sessie direct in.
Wachtwoorden
Bcrypt met kosten 12, minimaal tien tekens met een letter en een cijfer, en een slot na acht foute pogingen. Een dummy-hash voorkomt dat de reactietijd verraadt of een adres bestaat.
Tweestaps
Docenten en beheerders kunnen TOTP gebruiken, met acht herstelcodes. In productie staat het verplicht aan; een demo-installatie laat het bewust uit zodat een demo-account kan inloggen.
CSRF en limieten
Elke wijziging vraagt een token per sessie, cross-origin verzoeken worden geweigerd, en inlogpogingen zijn beperkt per adres en per account. In productie is dat niet uit te zetten.
Bestanden
Uploads worden op type en inhoud gecontroleerd, krijgen een willekeurige naam en gaan alleen door een geautoriseerde route naar buiten. Nooit rechtstreeks uit een openbare map.
Geen caching
Elke API-reactie is private en no-store, zodat een gedeelde computer in een klaslokaal geen cijfers van een vorige bezoeker toont.
Op je eigen server, met je eigen data.
EduLink is geen dienst waar de gegevens van een school naartoe gaan. Het is een Node-app met een PostgreSQL-database, die draait waar de school hem wil hebben: bij de eigen leverancier, in een Nederlandse cloud of op een eigen kast.
- Een server. Ubuntu 24.04 in Nederland, 1 vCPU en 2 GB is genoeg voor een school. Node 22 en PostgreSQL 16.
- De app.
npm ci, een.envmet de origin, de database en een tweestaps-sleutel, dan bouwen en starten onder systemd. De repo heeft een checklist met elke stap. - De licentie. Een sleutel uit het eigen licentieregister, offline gecontroleerd met een publieke sleutel. De app belt nooit naar de verkoper om te vragen of hij mag draaien.
- De eerste keer. Zonder sleutel is de installatie een complete demo met een verzonnen school. Na het invoeren van een sleutel ontstaat een lege school voor de klant; de demo blijft staan als voorbeeld om naar te kijken.
- De back-up. Database en uploads horen samen in de back-up. Het auditspoor en de sessies zitten in dezelfde database, dus een restore zet de hele toestand terug.
Wat het kost.
Prijzen staan niet in de software en niet op deze pagina. Ze hangen af van het aantal leerlingen, de pakketten en of de school de server zelf heeft. Wat er in een voorstel staat, is wel altijd hetzelfde rijtje:
- De licentie per jaar, met updates.
- De installatie, op je eigen server of bij ons.
- De invoer van de eerste leerlingen, docenten en klassen.
- Een demoschool met je eigen gegevens, zodat het team kan oefenen voordat het echt telt.
Je krijgt antwoord van de maker, niet van een verkoopafdeling. Noem het aantal leerlingen en welk pakket je overweegt, dan is het eerste gesprek kort.
Mail over EduLink