Frameworks
Here we give a rough overview of the frameworks used in this application. This is not intended to be a guide for usage (these can be found under the respective link), but to highlight the special aspects in relation to development in this application.
There are a few fundamental frameworks that are used in frontend and backend:
Socket.IO for real-time communication between the frontend and backend
Frontend
The frontend is based on the VueJS framework and uses the following additional libraries:
Vue 3 - Progressive JavaScript Framework
Vuex - State Management Pattern + Library
Vue Router - Routing for Vue.js
Socket.io for Vue - Socket.io for Vue 3
Bootstrap 5 for Vue - Bootstrap 5 for Vue 3
Vite - Next Generation Frontend Tooling (for building the frontend)
In addition to the above, the frontend uses further libraries not directly related to VueJS:
PDFjs - PDF Viewer
Bootstrap 5 - Responsive frontend toolkit
Bootstrap Icons - Bootstrap Icons
Backend
Currently the database in the backend is based on PostgreSQL, while the binding is established with Sequelize, which enables the exchange of the database:
PostgreSQL - Relational Database
Sequelize - Database Management System
To provide the server itself we use ExpressJS, extended by the PassportJS library for authentication:
ExpressJS - Web Framework for Node.js
PassportJS - Authentication Middleware for Node.js