Dieses Feature wurde als praxisnahes Steuerungs- und Überblickstool entwickelt. Es hilft dabei, Termine zu planen, Aufgaben zu strukturieren, Notizen direkt am Tag zu hinterlegen und Laufzeiten zuverlässig zu erfassen.

Viele Teams haben zwar Termin- oder Aufgabenmanagement, aber kaum ein System verbindet alle relevanten Informationen in einem Kontext. Genau deshalb wurde der Kalender als zentrales Arbeitswerkzeug konzipiert: Monat, Woche und Tag sind nicht nur Ansichten, sondern echte Arbeitsmodi mit unterschiedlicher Perspektive.
Das Kalender-Feature ist das zentrale Planungs- und Arbeitswerkzeug der Anwendung. Es verbindet Termine, Aufgaben, Notizen und Zeiterfassung in einem klaren Tages-, Wochen- und Monatskontext. Damit wird aus einem reinen Terminmanager ein echtes Arbeitsdashboard, das den Alltag eines Teams oder Einzelnen besser organisiert.
Der Fokus liegt nicht nur auf der Darstellung von Terminen, sondern auf dem Arbeitsfluss dahinter: Was ist heute wichtig? Welcher Tag steht im Mittelpunkt? Welche Aufgaben müssen erledigt werden? Wo ist eine Notiz relevant? Welche Zeit wurde in welchem Kontext aufgezeichnet?
Das Feature hilft dabei, den Überblick zu behalten, auch wenn viele Aufgaben, Termine und Ideen gleichzeitig anfallen. Nutzer können:
Wer nur eine Terminliste nutzt, sieht meist nur die Oberfläche. Das Kalender-Feature geht einen Schritt weiter und stellt den Zeitkontext in den Mittelpunkt. Dadurch wird klarer, was an einem Tag passiert, was vorbereitet werden muss und welche Aufgaben zu einem Datum gehören.
Die UI liegt in der Blazor-Komponente:
mkaWebCenter.Client/kApp-features/kalender/route/Kalender_RouteView.razorDie Backend-Logik befindet sich in:
mkaWebCenter/app_routes/api/KalenderApi.csmkaWebCenter/app_data/KalenderRepository.csDie Daten werden in einem eigenen Kalenderkontext verwaltet, der Termine, Notizen und Zeiterfassungsdaten an ein bestimmtes Datum bindet.
Viele Kalender-Apps haben mir bisher nie so richtig gefallen, entweder empfand ich die Bedienbarkeit umständlich (bspw. zu viele benötigten Infos für einen einfachen Termin) oder die Darstellung zu unübersichtlich, benutzte Farben gefielen mir nicht oder oder oder :D Die Punkte hatten leider immer zur Folge, dass ich nach kurzer Zeit aufhörte Termine&Absprachen zu speichern oder meine Partnerin plötzlich den Job meiner „Kalender-Managerin“ innehatte, was sie natürlich dankend annahm ^^ Um dieser nicht ganz so Optimalen Situation entgegenzuwirken, habe ich dann einfach angefangen ein eigenes "Kalender-Modul" zu schreiben, was ich nach und nach immer erweiter, um für mich persönlich die beste Usability zu erreichen, umso lagfristig Termine auch zu speichern :D
Um bei unterschiedlichen Projekten auch nicht so schnell den Überblick zu verlieren, speicher ich neben meinen Terminen, auch erledigte oder offene Aufgaben, die ich einfach und schnell aus unterschiedlichen Teilen der Webanwendung heraus erstellen kann.
Diese Sichtweisen sind nicht rein kosmetisch, sondern dienen unterschiedlichen Arbeitsarten.
Die zentrale Ansicht wird je nach Auswahl als Monats-, Wochen- oder Tagesansicht dargestellt. Jede Perspektive zeigt andere Details und dient einem anderen Projektziel.
@if (_viewMode == "month")
{
<div class="month-grid">
@foreach (var day in _calendarDays)
{
<div class="day-cell" @onclick="() => OnDayClick(day.Date)">
@day.DayNumber
</div>
}
</div>
}
Das macht den Kalender flexibel: Wer Überblick braucht, nutzt die Monatssicht. Wer wirklich arbeitet, nutzt die Tagesansicht.
Ein wichtiges UX-Feature ist, dass neue Termine nicht immer auf „heute“ fallen. Wenn der Nutzer in der Tagesansicht ist, wird das aktuelle Tagesdatum verwendet.
private void StartCreateTermin()
{
var date = _currentMonth.Date;
if (_activeView == "day")
date = _selectedDay.Date;
CreateNewTermin(date);
}
Das ist für die Bedienung entscheidend, weil der Nutzer nicht jedes Mal manuell auf das richtige Datum springen muss.
Die Notizfunktion ist im Kalender nicht als eigenständiges Modul isoliert, sondern wird direkt im Arbeitskontext genutzt. Ein Termin kann mit Notizen verknüpft sein, und die wichtigsten Informationen bleiben am passenden Datum verankert.
Das verbessert die Nachvollziehbarkeit und vermeidet das Problem, dass Informationen an falschen Stellen oder in getrennten Tools liegen.
Ein zusätzlicher Benefit ist die Verbindung von Kalender und Zeiterfassung. Damit wird aus dem Kalender ein Mittel zur Arbeitssteuerung statt nur eine übersichtliche Tabelle.
public async Task StartTrackingAsync(int taskId)
{
var start = DateTime.UtcNow;
// ...
}
So können Aufgaben und Laufzeiten gezielt einer Zeitslot-Logik zugeordnet werden, ohne ein separates Tool zu benötigen.
Das Feature basiert auf einer Anwendung von Datums- und Aufgabenbeziehungen. Typische Elemente sind:
Wichtig ist, dass die Daten nicht nur „textlich“ gespeichert werden, sondern immer an ein konkretes Zeitfenster gebunden sind.
Das ist der Unterschied zwischen einem bloßen Planner und einem echten Arbeitskalender.
Der Kalender ist nicht nur ein Komfortmerkmal, sondern ein zentraler Baustein für die gesamte Produktivität der Anwendung. Er ist dort, wo Arbeitsabläufe und Informationsfluss zusammenkommen.
Er verbindet:
Damit wird ein konkreter Mehrwert für jeden Nutzer sichtbar: weniger Chaos, mehr Struktur, weniger manuelle Nacharbeit.
Für den Nutzer bedeutet das:
Für den Entwickler heißt das:
Das Feature lässt sich gut erweitern mit:
Damit könnte aus dem vorhandenen Feature langfristig ein vollständiges Projekt- und Zeitmanagementsystem entstehen.
Die Verbindung zum Server wurde unterbrochen.
Die Verbindung konnte nicht automatisch wiederhergestellt werden.
Die Sitzung muss aus Sicherheitsgründen erneut bestätigt werden.
Aus Sicherheitsgründen wird die Verbindung erst nach einem bewussten Klick auf Neu verbinden erneut aufgebaut.