YB
All work
EdTechLive7 min read

20.tn

Education technology platform — school management, parent portal, teacher & admin dashboards.

Overview

20.tn is an education platform connecting parents, teachers, and administrators around one source of truth for grades, timetable, absences, messaging, and bulletins.

Project story

As Lead Full-Stack Engineer I drove a production school management API — 43 OpenAPI endpoints, RBAC, BullMQ workers, and test suites that protect auth and rate limits.

Problem

Schools need one coherent system for grades, timetable, absences, messaging, and bulletins — with parents, teachers, and admins on the same source of truth.

Solution

A Node/Express/TypeScript backend with Prisma, PostgreSQL, Redis, MinIO, BullMQ, and Firebase — offline-first thinking and AI-ready extension points.

Features

  • School management core
  • Parent portal & teacher dashboard
  • Messaging, absences, bulletins
  • Push notifications & exports

Architecture

Node.js · Express · TypeScript · Prisma · PostgreSQL · Redis · MinIO · BullMQ · Firebase — offline-first thinking and AI-ready extension points.

Frontend

Parent, teacher, and admin dashboards.

Backend

43 OpenAPI-documented Express endpoints.

Database

Prisma + PostgreSQL as source of truth.

Authentication

JWT + fine-grained RBAC.

Storage

MinIO signed URLs for files.

Workers

BullMQ for exports, push, and audits.

Security

Rate limiting, audit logs, signed access.

AI-ready

Hooks for assistants and absenteeism insights.

Security

  • JWT authentication
  • Fine-grained RBAC
  • Rate limiting
  • Audit logs
  • Signed URL file access

Performance

  • Redis-backed queues for heavy export jobs
  • Signed URL offload for file transfer
  • Worker isolation from request path

Accessibility

  • Role-clear navigation
  • Mobile-first parent flows
  • Readable academic data presentation

Mobile experience

Parent/teacher flows designed for mobile-first usage with push notification hooks via Firebase.

AI features

AI-ready architecture for future assistants on grades, absenteeism insights, and admin automation.

Challenges

  • Modeling school RBAC without leaking privileges across roles
  • Keeping OpenAPI docs truthful as the API grew to 43 endpoints
  • Reliable push + export workers under load

Results

  • Production school management API with 43 OpenAPI-documented endpoints
  • RBAC across auth, grades, timetable, files, messaging, absences, bulletins
  • BullMQ workers for exports, signed file URLs, push notifications, audit logs
  • 30+ Jest/Supertest tests including auth, rate-limit, and worker suites

43

API endpoints

30+

Test suites

EdTech

Focus

Lessons learned

  • RBAC is a product feature in EdTech
  • Workers keep the request path honest
  • OpenAPI docs must stay as true as tests

Tech stack

API

Node.jsExpressTypeScript

Data

PrismaPostgreSQLRedisMinIO

Async

BullMQFirebase

Quality

JestSupertestOpenAPI

Timeline

Current

7 min read

My role

Lead Full-Stack EngineerAPI ArchitectureRBAC & AuthMobile-ready UX

Scalability

Queue-driven background processing and modular domain endpoints ready for multi-school deployment.

Video walkthrough

Product walkthrough placeholder — add a Loom or demo reel here when ready.