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.