Wertpapierbörse + Vereinfachtes Kontensystem

  • 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:

    Code
    [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

    Ministerpräsident der Republik Papyrie
    Zukünftiger Senatspräsident und somit Staatsoberhaupt der Republik Dionysos

    8 Mal editiert, zuletzt von Fritz Grimpen ()

  • Ich bin ja im allgemeinen ziemlich neutral und habe deshalb spaßeshalber lokal bei mir diese "Bank" installiert. Unabhängig von der schwierigen Administrierbarkeit, da man alles händisch in die Datenbank einpflegen muss, folgende Probleme:


    • Ich will das DB-Backup in die Datenbank grimpen einspielen, aber in der SQL-Datei ist vorgegeben, dass er die Datenbank stockm erstellt und verwendet. Das wird auf den wenigsten Servern funktionieren, da man im allgemeinen nicht über phpmyadmin-Zugang die Rechte hat, Datenbanken zu erstellen.
    • Wenn keine Gruppe zur Verfügung steht und man will sich registrieren, wirft einem die Seite vor, man habe das Formular manipuliert.
    • Es kommen Fehlermeldungen (ganzseitige Errorreports) bei: Nachrichteneingang, Neue Nachrichten, Externe Überweisungen, Kaufen
    • Es gibt keine Erläuterung, wie die Seiten mit Inhalt gefüllt werden, Templates bearbeitet werden, etc



    Im Großen und Ganzen halte ich das System einfach noch für unausgereift und denke, dass das mit der ein oder anderen Verbesserung auch administrativ handhabbar wird.

  • Vielen Dank für diese Kritik.


    • Danke. Das SQL-Backup werde ich noch ändern müssen.
    • Die Fehlermeldung werde ich entfernen.
    • Ich bin bis jetzt noch nicht zum Erstellen eines ErrorHandlers gekommen, da ich derzeit wirklich noch an der Vereinheitlichung des Software-Designs arbeite! Ansonsten kann man die problematischen Menüpunkte auch aus der Tabelle stockm_menu entfernen.
    • Die Handhabung der Templates wird in den Release Candidates vereinfacht bzw. durch ein ACP ermöglicht.

    Ministerpräsident der Republik Papyrie
    Zukünftiger Senatspräsident und somit Staatsoberhaupt der Republik Dionysos

  • So, Version 1.0.0 Beta 2 ist verfügbar. Es ist jetzt die Möglichkeit gegeben, das Tabellenpräfix zu ändern.

    Ministerpräsident der Republik Papyrie
    Zukünftiger Senatspräsident und somit Staatsoberhaupt der Republik Dionysos

  • Ich habe es auch nicht auf meinem PC.

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht