# Case Study: Web API für Haushaltsbudgetplanung **Projekttitel:** FinPlanPro (Finanzielle Planung Professionell) ## Einleitung Im Rahmen unseres Softwarearchitekturworkshops soll eine Web API entwickelt werden, die es BenutzerInnen ermöglicht, ihr Haushaltsbudget für ein Jahr effektiv zu planen und zu verwalten. Das Projekt names "FinPlanPro" zielt darauf ab, ein benutzerfreundliches, leistungsfähiges und flexibles Tool zu schaffen, das auf die Bedürfnisse von Personen zugeschnitten ist, die eine detaillierte Übersicht über ihre Finanzen erhalten möchten. ## Zielgruppe Die Zielgruppe für diese API sind vorrangig Personen, die ein Bedürfnis nach einer detaillierten und anpassbaren Budgetplanung haben. Dies umfasst, aber beschränkt sich nicht auf, junge Erwachsene, Familien, sowie kleinere Organisationen oder Vereine, die ihre Finanzen genauer verwalten möchten. ## Anforderungen ### Benutzerverwaltung - Benutzer sollen in der Lage sein, Accounts zu erstellen, sich anzumelden und ihre Daten zu verwalten. - Unterstützung von Multi-User-Accounts, um Familien oder Gruppen die gemeinsame Budgetplanung zu ermöglichen. ### Kategorienmanagement - Benutzer können eigene Kategorien für Einkünfte und Ausgaben erstellen, bearbeiten und löschen. - Kategorien können hierarchisch strukturiert werden, um detaillierte Analysen zu ermöglichen. ### Erfassung von Ein- und Ausgaben - Benutzer können geplante und tatsächliche Ein- und Ausgaben pro Monat erfassen. - Mehrere Einträge pro Kategorie und Monat sind möglich. - Unterstützung für wiederkehrende Zahlungen und Einnahmen. - Sofern vorhanden können Planungen für eine Kategorie aus dem Vorjahr übernommen werden. Dabei sind prozentuelle Anpassungen möglich. ### Budgetplanung und -überwachung - Das System stellt eine Übersicht bereit, die den Vergleich von geplanten und tatsächlichen Finanzen ermöglicht. - Warnungen oder Benachrichtigungen bei erheblichen Abweichungen vom Plan. ### Prognosen und Analysen - Eine Prognosefunktion, die auf Basis der aktuellen Daten eine Hochrechnung bis zum Jahresende ermöglicht. ## Technische Spezifikationen - RESTful API-Design. - Konzept für Authentifizierung und Autorisierung. - Datenbankdesign, das eine effiziente Abfrage und Verwaltung großer Datensätze ermöglicht. - Skalierbare Architektur, die zukünftige Erweiterungen unterstützt. ## Aufgaben ### Entwicklung der Gesamtarchitektur für FinPlanPro Entwicklung eines Architekturdiagramms für das FinPlanPro-System, das wesentliche Komponenten und ihre Interaktionen aufzeigt. Diese Architektur soll die Basis für die gesamte Entwicklung und Integration der Web API für die Haushaltsbudgetplanung bilden. ### Gestaltung der Web API Entwicklung und Gestaltung einer RESTful Web API für das FinPlanPro-System. Diese API soll als zentrale Schnittstelle für alle Interaktionen zwischen den Frontend-Komponenten (wie Web- und Mobilanwendungen) und dem Backend-System (wie Datenbanken und Geschäftslogik) dienen. Sie muss benutzerfreundlich, sicher und effizient sein. ### Deployment und Betrieb Konzept für den Betrieb der Web API mit Berücksichtigung von Container-Technologie.