From 51a09467cfadc2d29b020f6e2057d21e9987b003 Mon Sep 17 00:00:00 2001 From: Eddie Date: Tue, 6 Dec 2022 18:48:37 +0100 Subject: [PATCH] Readme und Projekt Vorstellung --- README.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 538d219..46b01f4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,89 @@ # budget-py +## Die Idee +Wir brauchen ein Verwaltungsprogramm um unsere Finanzen im Verein für das Finanzamt sinnvoll aufzuschlüssen und zu Dokumentieren. -Python basierendes Budget-Verwaltungs Programm für Vereine \ No newline at end of file +### Aktuelle Lösung +Eine LibreOffice-Calc Datei die eine "Datenbank" mit allen Ein- und Ausgaben des Vereins beinhaltet. Visuell dargestellt und aufgeschlüsselt wird aber garnix, und die Version die ans Finanzamt geschickt wird muss extra aufgebarbeitet werden. + +### Ziel-Lösung +Ein kleines Programm das es einfach macht Einträge in eine SQL-Datenbank vorzunehmen. Ausserdem sollte alles aufgeschlüsselt und visuell aufgearbeitet werden. Und es sollte eine Export funktion für das Finanzamt geben. + +### Problematik +Viele aktuelle Software Lösungen zum verwalten der Finanzen von einem Verein sind entweder komplett überladen oder sehr Teuer. + +Dabei muss bei einem kleinem ehrenamtlichen Verein wie unserem gar nicht so viel beachtet werden. Im grunde müssen wir nur eine EüR einreichen. Diese muss aber erstmal erstellt und dann Dokumentiert werden. Und genau diesen part wollen wir erledigen + +--- + +## Programm Flow +Der User sollte als erstes eine `Person` erstellen können. + + +Beim erstmaligem erstellen einer `Person` sollte der User die möglichkeit haben das `Vermögen` der `Person` anzugeben. + +Danach sollte es dem User möglich sein `Projekte` und `Kategorien` zu erstellen. Der User sollte eine Farbe einen Emoji und einen Namen verteilen können. + +Jetzt kann der User `Einträge` erstellen. + +Das wars. Den Rest sollte das Programm machen. Entweder kann man eine EüR per Export ausgeben oder es werden alle Einträge in Pie-Charts ausgegeben. + +Wie man hier die Daten anzeigt wird sich zeigen, eine Jährlich einteilung und Gewinn berechnung sollte allerdings als erstes angestrebt werden +### Begrifflichkeiten +- Person + ``` + Eine Person ist das Platzhalter-Objekt für z.B. einen Verein, eine Firma oder eben eine Person. + ``` +- Projekte + ``` + Projekte sind alle Ein und Ausgaben im Bezug zu einem Projekt, bei uns z.B.: + - Sommerschein + - Kreisstadt Sommer + - Helfer Party + - Betriebskosten + ``` +- Kategorie + ``` + Eine Kategorie ist im grunde ein "Filter-Tag" mit dem man später die Diagramme füttern kann. Es beschreibt den Sinn der Einnahme oder Ausgabe Hierzu zählen z.B.: + - Wareneinsatz Essen + - Wareneinsatz Trinken + - Mitglieder Verpflegung + - Verbrauchsmittel + - Anschaffung Technik + ``` +- Vermögen + ``` + Vermögen ist bei einer Person meistens in 3 Kategorien eingeteilt: + - Bargeldbestand + - Konto + - Material + + Diese Kategorien sollten allerdings auch vom User zumindest editierbar sein. + ``` +- Eintrag + ``` + Ein Eintrag ist eine Buchung auf das Vermögen einer Person. Er kann entweder eine Ausgabe sein oder eine Einnahme verkörpern. In beiden Fällen + ``` +--- + +## Tech-Stack +Es gibt klare Bereiche in der Umsetzung dieser Applikation und wir sollten sie Isolieren, hierzu folgender Vorschlag: + +- **User-Interface** +- **Datenbank** +- **Visualisierung** +- **Export** + +### User Interface +Das User-Interface soll mit [CustomTkinter](https://github.com/TomSchimansky/CustomTkinter) umgesetzt werden +### Datenbank +Hierbei bin ich mir noch unsicher, mein Vorschlag wäre eine einfach SQLite datenbank die man manuel Backupen muss. + +Alternativ kann auch das Sommerschein Backend dafür herhalten. + +Bitte [hier](https://git.sommerschein.de/Eddie/budget-py/issues/2) mitdiskutieren. +### Visualisierung +Hierbei dachte lassen wir die Daten erstmal in einfach PiCharts anzeigen. [MatPlotLib](https://www.pythontutorial.net/tkinter/tkinter-matplotlib/) sollte da herhalten können +### Export +Beim Export bin ich mir am unsicheresten. Es gab vor jahren mal ein par erweiterungen für Python mit denen man PDF´s erstellen konnte, allerdings hab ich das bisher nur in Python2 gemacht. Der Export wird wahrscheinlich erstmal auf dem Backburner landen. + +--- \ No newline at end of file