~/sen1or
All projects
2024 · Fullstack Developer

Let's Learn

Classroom management for teachers and students — real-time video, collaborative whiteboard, quizzes.

Overview

A classroom management platform for teachers and students — courses, assignments, quizzes, live meetings, and collaborative whiteboards. Built as four services orchestrated with Docker Compose.

Architecture

Next.js UI  ──►  Spring Boot backend  (topics, quizzes, assignments)
     │
     ├──►  LiveKit server (Go)     — real-time video & meetings
     └──►  tldraw server (Node.js) — collaborative drawing rooms

Stack

Next.js, TypeScript, Spring Boot, Java, Go, LiveKit, Node.js, tldraw, Docker Compose.

Highlights

  • Learning workflows. Topics, quizzes, assignments, and dashboards wired through the Java backend.
  • Real-time collaboration. LiveKit for live sessions; tldraw for shared boards and room management.
  • Multi-service local dev. docker-compose up brings up backend, media, drawing, and UI together.
  • UI coverage. Calendar, course overview, dashboard, and in-quiz flows documented in the repo.

What I'd do differently

  • Add OpenAPI-generated TypeScript clients instead of hand-typed API calls across services.
  • Centralize auth/session propagation across the Go and Node sidecars.

Stack

  • Next.js
  • TypeScript
  • Spring Boot
  • Java
  • Go
  • LiveKit
  • Node.js
  • Docker Compose

Highlights

  • Next.js dashboards for courses, assignments, quizzes, and calendar.
  • Spring Boot APIs for topics, quizzes, assignments, and user flows.
  • LiveKit Go service for real-time video and collaboration.
  • tldraw Node server for collaborative drawing and room management.
  • Docker Compose for local multi-service development and deployment.