Ich habe die letzten zwei Wochen eine Wertpapierbörsensoftware mit vereinfachtem Kontensystem gebaut, die ich nun hier vorstellen möchte. Das System basiert auf dem Adventure PHP Framework und derzeit ist das Softwaredesign noch sehr komisch, weil einige Bestandteile in Modulen anzutreffen sind und einige im Applikationsverzeichnis.
Aktuelle Version: 1.0.0 RC 1 (Build 16) - Es wird ein Programm benötigt, welches tar und gzip entpacken kann (z. B. 7-Zip oder tar und gzip)
Folgende Mindestsystemvorraussetzungen existieren:
- PHP 5.0 oder höher
- NCSA-Kompatibler Webserver
- MySQL 5.0 oder höher
- PHP MySQL-Erweiterung
- Akzeptanz der GNU GPL Version 3.0
Und hier noch einmal der wichtigste Hinweis: Bitte das Programm nicht in Produktivumgebungen verwenden, es könnten XSS-Attacken durchgeführt werden.
Für den Jan Stoertebecker: Es ist OpenSource und Freie Software. Eine Diskussion ist nicht notwendig.
Installation
Die Installation erfolgt durch das Einspielen eines SQL-Backups und dem Anlegen einer INI-Datei. Selbstverständlich muss der Download entpackt werden.
1. Backup einspielen
Um die Datenbanktabellen zu erzeugen, muss die Datei files/db_backup.sql über phpMyAdmin oder MySQL Administrator eingespielt werden.
1.1 Datenbankpräfix ändern
Wenn ein anderes DB-Präfix verwendet werden soll, dann muss mit einem Editor eine Ersetzung von "stockm_" nach "{Eigenes Präfix}_" in der files/db_backup.sql vor dem Einspielen durchgeführt werden. Bitte nicht den Unterstrich vergessen!!!
2. Konfigurationsdatei erzeugen
Die Konfigurationsdatei muss im Verzeichnis apps/config/core/database/sites/stockm erstellt werden und trägt den Namen DEFAULT_connections.ini.
Sie ist folgendermaßen aufgebaut und die Platzhalter sind auszufüllen, und zwar mit Anführungszeichen:
[MySQL]
DB.Host = "DB-Host"
DB.User = "DB-Benutzer"
DB.Pass = "DB-Passwort"
DB.Name = "DB-Name"
DB.DebugMode = "false"
DB.Prefix = "DB-Präfix (Ohne Änderung ist es stockm_)"
Nähere Informationen hier!
3. Konfiguration schützen
Um die Konfiguration zu schützen, muss die Datei e.htaccess im Ordner apps in .htaccess umbenannt werden.
Fehlende Funktionen
Viele Funktionen sind noch nicht oder nur teilweise implementiert.
Externe Überweisung
Die externe Überweisung ist noch nicht fertig, da die API noch nicht implementiert ist. Es ist auch erst in Version 1.1.0 damit zu rechnen.
Administration
Wer nicht das Adventure PHP Framework versteht, der sollte wirklich nicht die Templates, DB-Domains, Controller, DB-Manager, DB-Mapper und Bootstrap-Dateien verändern. Eine Administrationsoberfläche im Hauptpaket ist nicht geplant, aber es wird bestimmt noch ein Modul dafür geben.
Benchmarks
Benchmarks können durch ein Cookie oder einen URL-Parameter mit dem Namen benchmark und dem Wert '1' aktiviert werden. Der Benchmark-Support wird in der finalen Version entfernt (Vermutlich Build 20).
Cronjobs
Es können Cronjobs ausgeführt werden. Diese sind in Form einer Funktion, die in PHP implementiert ist, verwirklicht. Jede Cronjob-Funktion wird im Dokumentcontroller aus der Datei apps/sites/stockm/pres/documentcontroller/jobcontrol_v_elem.php angelegt.
Cronjobs werden in der Tabelle stockm_cronjobs angelegt. Das Feld period beinhaltet die Periode in Sekunden.
Gruppen
Für den Standardbetrieb sind Benutzergruppen notwendig. Eine Benutzergruppe wird in der Tabelle stockm_group angelegt. Die Feldnamen bis auf opengroup sollten selbsterklärend sein. Der Feldname opengroup ist notwendig, wenn eine Gruppe bei der Registration wählbar sein soll.
Kontotypen
Jeder Kontotyp ist einer Gruppe vorbehalten. Diese werden in der Tabelle stockm_accounttypes angelegt. Felder sind selbsterklärend.
Firmen
Firmen können in der Tabelle stockm_firms angelegt werden. Wieder selbsterklärend.
Wertpapiere
Wertpapiere werden in der Tabelle stockm_bonds angelegt. Nachfolgend die Spaltenerklärungen:
'nominal' - Nennwert
'value' - Aktueller Marktwert
'firm' - ID der Firma des Wertpapiers
'name' - Name des Wertpapiers
'number' - Anzahl aller Wertpapiere dieses Typs
'account' - Konto, auf dem die Berechnung basiert.
-- Wird ergänzt --
Alte Versionen