A Digital Blackboard

August 20, 2024

My school summer holidays are almost over, and I want to give a little update on what I have been up to in the last 6 weeks. Like last year, I wanted to do a programming project. This year, it is a blackboard for schools and universities.

View the website here.

What this is all about

The digital blackboard (that's what I call it) is supposed to manage the whole school infrastructure when it comes to actually managing what gets taught.

This means that the DBB handles:

  • Grades
  • Teachers
  • Students
  • Classes

But the actual main functionality of the website is the ability to make quick changes to the classes, i.e., to change a teacher when the original is sick or to change a room when it is not available. It is also possible to cancel the class or to just add a note to it, like '5 minutes late today'.

Some very important features

This is not just a program for school staff, but also a program that creates schedules for every student, so that they can directly see what has changed in their schedule.

blackboard

The settings menu also contains options to prevent all students from logging in and an option to set global news that every student can see, in addition to creating staff accounts and setting the schoolrooms and subjects.

dashboard settings

How it was done

I used React for this project's frontend for two reasons. I never did anything with it before, and it is popular. Other than that, the site is fairly organically made, with not many additional packages or tools. I use normal CSS (which is global) and JavaScript instead of typescript. The authentication is done by me with JWT's and most UI elements are handcrafted.

In this project, the backend is implemented as a RESTful API completely separate from the frontend. It uses Express as the framework, and it connects with a MySQL database for storage.

The hosting doesn't differ much from the portfolio website. It is hosted on the same virtual server, also uses Docker, and the website's networking is done with a nginx reverse proxy.


Published August 20, 2024. Written by Tim Göllner.

If you enjoyed this Post, please consider sharing it!


← Older

New Portfolio Website