Zum Hauptinhalt springen

Events App

Technology Stack

Client Side

  • Docusaurus - a modern Documentation Framework
  • React a library to create interfaces and components
  • TypeScript - a typing system for type-safety
  • MobX a state management library. Stores keep data and it's modification and ensures, the client is updated.
  • Axios HTTP Client for Browsers

Server Side

  • Node JS JavaScript runtime
  • TypeScript - a typing system for type-safety
  • Express JS Fast, lightweight web framework for Node JS
  • Prisma JS a modern ORM to access database records in a typesafe manner.

Client Server Communication Protocols

  • HTTP Protocol for API calls to the server
  • Websockets (through SocketIO) for a permanent connection between the server and the client. Ensures all connected clients are kept synced.

Data

All data is stored in a relational database - PSQL is used.

External Services

The webuntis data from the school is synced for each semester. This includes

  • Departments
  • Teachers
  • Classes
  • Lectures

Like that it's possible to match events to coresponding classes and teachers.