Skip to content
Finn Lippok edited this page Jul 7, 2023 · 34 revisions

Introduction

This Wiki provides an overview of the Forum application built with Java Spring, SvelteKit, SQL, Grafana and Prometheus. The Forum application is designed to provide users with a platform to discuss various topics and share their opinions. This page provides a concise overview of the Forum for further information visit the other pages of the documentation.

Product Requirements

The Forum application comes with the following features:

  • User registration and login
  • Posts and comments
  • Searching for Posts
  • Viewing user profiles
  • Attatch files to posts
  • Upload profile picture

The Forum application may get expanded by following features:

  • User authentication with LDAP
  • Rate posts
  • Sort posts by various criteria
  • Profile customization (Banner, badges, ...)

Technical product specifications

Architecture

Schoolforum is a web-based forum platform that utilizes the Client-Server model and leverages Docker and Docker Compose for containerization and orchestration. Docker is a popular platform that allows developers to package applications and their dependencies into containers, providing consistency and portability across different environments. Docker Compose is a tool that simplifies the management of multi-container Docker applications.

docker

The Svelte container hosts the frontend portion of the Schoolforum application. Svelte is a JavaScript framework that compiles code at build time, resulting in highly efficient and performant web applications. It handles the user interface, interactions, and presentation of data.

The Java Spring Boot container houses the backend logic of the Schoolforum application. Spring Boot is a popular Java framework for building robust and scalable web applications. It provides features such as RESTful APIs, data persistence, security, and business logic implementation.

The MariaDB container holds the database system used by the Schoolforum application. MariaDB is a widely used open-source relational database management system that is compatible with MySQL. It stores and manages the application's data, ensuring reliable data persistence and retrieval.

The Prometheus container is responsible for collecting and storing metrics related to the Schoolforum application. Prometheus is a monitoring and alerting toolkit that specializes in gathering time-series data. It enables monitoring and analysis of various system and application metrics, such as response times, error rates, and resource usage.

The Grafana container provides a visualization and monitoring interface for the Schoolforum application. Grafana is an open-source analytics and monitoring platform that allows users to create interactive dashboards and visualizations based on data from various sources, including Prometheus. It enables real-time monitoring, data exploration, and alerting for the system.