# FSCash Dokumentiere Ausgaben on-the-go als Webapp & behalte den Überblick über Dein Aktiendepot ## ToDo - [ ] Zusammenfassen von mehreren Einträgen zu einer Aktie - [ ] Prüfen ob APIKEYS leer sind und ggfs die Aktualisierung ausblenden ## V.2.1 - [X] `update.sh` zum Deployen auf einen Zielserver: prüft PHP-Syntax, kopiert den aktuellen git-Stand ins Webroot (ohne die produktive `config.php` zu überschreiben) und wendet danach ausstehende Datenbank-Migrationen an. - [X] neues Verzeichnis `migrations/` mit versioniertem Migrationssystem: nummerierte `.sql`-Dateien werden über eine `schema_migrations`-Tabelle nachverfolgt und jeweils nur einmal angewendet (siehe `migrations/README.md` für die Konvention). - [X] Platzhalter in `update.sh` für einen automatischen Testlauf, sobald Tests existieren. ## V.2.0 - [X] neue Haupt-Funktion: Aktien zeigt eine Liste mit gespeicherten, zu beobachtenden Aktien - [X] Die Tabelle errechnet automatisch den aktuellen Gewinn oder Verluststand jeder Aktieneintragung - [X] neue Aktie hinzufügen mit Kaufdatum und Kaufpreis, wird je Benutzer separat hinterlegt (user_id) - [X] es KANN eine ISIN oder WKN eingetragen werden - [X] Beim Abruf von aktuellen Kursdaten muss vorher ein API Key von https://www.alphavantage.co/support/#api-key beantragt werden. - [X] Suchen von Symbolen passend zur ISIN geht über einen API Key von https://www.openfigi.com/user/signup - [X] Alternativ kann auch nach dem Aktiennamen bei alphavantage gesucht werden - dafür muss man auf den Namen klicken - [X] Aktien können geändert und gelöscht werden. ## V.1.2 - [X] Einträge löschen als Button im Editier-Fenster (UX dient der Prävention versehentlichen löschens auf der Startseite) ## V.1.1 Admin-Funktion: - in der config.php kann vorkonfiguriert werden, welchen User_ids erlaubt ist, weitere User anzulegen. Auswertungen: - [X] CSV Export des ausgewählten Monats in der Kategorieübersicht - [X] Monatssumme je Kategorie - [X] Filter monatsweise - [X] monate durchblättern zurück und vor, defaut aktueller Monat - [X] Monatssumme je Person - [X] Haken, welche Kategorieen eingeschlossen werden - [X] Filter monatssummen - [X] monate durchblättern zurück und vor, defaut aktueller Monat ## V.1.0 Das erste Release enthält: - [x] mariadb setup - [x] apache2 setup - [x] Auswahl des UI frameworks - [x] login - [x] Anzeige bestehender Ausgaben des aktuellen Monats - [x] "+" Button zum Aufruf der Eingabemaske - [x] Eingabemaske für Ausgaben - [x] Speichern der Ausgaben in mariadb Eingabe: - [x] Betrag - [x] Personn derzeit individuell direkt über die Mariadb Tabelle individualiserbar - [x] für wen (Person1, Person2) jeweils mit Haken - [x] Kategorie, derzeit individuell direkt über die Mariadb Tabelle individualiserbar - [x] Einkaufen - [x] Essengehen - [x] Freizeit - [x] PuFra - [x] Urlaub gemeinsam - [x] Urlaub Pössi - [x] Barausgaben - [x] Datum ohne Uhrzeit, default heute, wählbar via Picker - [x] Zahlungsmittel, derzeit individuell direkt über die Mariadb Tabelle individualiserbar - [x] Bar - [x] Karte - [x] Paypal - [x] nicht löschbar! - [x] alles MUSS-Felder Ausgabe - [x] Anzeige aller Ausgaben des aktuellen Monats - [x] "+" Symbol für neue Ausgabe Weiteres - [x] Login/User aktiv halten - [x] Datenspeicher MariaDB - [x] Strato-Server - [x] Kategorieanzeige in Übersicht durch Strings ersetzen - [x] Übersicht rückwärts sortiert neu -> alt - [x] Betrag deutsche Zahlen und rechtsbündig - [x] Kommentarfeld freitext drei Zeilen # Installationshinweise: 1. webserver & DB server aufsetzen 2. init.sql script als berechtigter DB user laufen lassen (meist root), der Datenbanken anlegen und Berechtigungen setzen kann. 3. html Ordner ins webroot kopieren 4. config_sample.php in config.php umbenennen und DB credentials setzen 5. webroot (z.B. http://localhost/) aufrufen und mit user test / test123 einloggen. 6. obige Schritte sind nur das Nötigste, um die Funktionalität herzustellen. Insbesondere bei Zugriffsmöglichkeiten aus dem Internet ist es wichtig, https Protokolle, vpns und/oder ggfs zusätzliche Sicherungsmassnahmen (hardening) zu ergreifen. Ausserdem solltet Ihr User registrieren und ggfs. die Kategorien anpassen. Das sollte alles sein. Bitte erstellt ein Bug-Ticket, wenn ich etwas übersehen habe. Gerne könnt Ihr auch Pull-Requests erstellen.