TradeControl

Die Entwicklungsgeschichte einer Web Anwendung

Im Janaur traf ich meinen Freund Emilio und wir hatten einen sehr kreativen Abend. Wir vereinbarten die Entwicklung der TradeControl. Die TradeControl soll eine Anwendung sein, welche einem Tradee die Art und Weise, wie er seine Börsengeschäfte macht, verbessert.

Kapitel 1: CouchDB

http://couchdb.apache.org/
http://couchdb.apache.org/

Emilio hatte bereits ein Konzept dafür und ich wollte dieses Umsetzen. Als erstes kniete ich mich in CouchDB rein und versuchte es mit den Bordmitteln von CouchDB zu lösen. Ich verstand das Konzept von CouchApp nicht ganz und es gelang mir nicht.

Kapitel 2: CouchDB, Python3

http://www.cherrypy.org/
http://www.cherrypy.org/

TradeControl 0.1: Ich beliess das Konzept, Programmierte jedoch in Python 3. Ich benutze py-couchdb für die Anbindung an CouchDB, CherryPy für den Webserver sowie Jinja2 als Template Sprache.

Wir schauten uns den ersten Entwicklungsschritt an, optimierten die Web Seiten und das Konzept.

Kapitel 3: CouchDB, Python 3

http://py-couchdb.readthedocs.org/en/latest/quickstart.html
http://py-couchdb.readthedocs.org/en/latest/quickstart.html

TradeControl 0.2: Ich beschloss durch die Optimierung die Programmierung der Webseiten zu überdenken und wollte den Einsatz von Jinja2 vermeiden. (Nachträglich betrachtet stellte sich dieser Entscheid als falsch heraus.)

Die TradeControl 0.2 war fast fertig für ein Alpha Release, da erreichte mich die Nachricht von Emilio: "Andy, wir wurden überholt." Er fand folgende Website: https://www.myfxbook.com/

Kapitel 4: Javascript

http://jquery.com/
http://jquery.com/

TradeControl 0.3: Wir tun es doch!

Ich überdachte die Entwicklung mit CouchDB, mit Python 3, überdachte die Infrastruktur welche eine Web-Anwendung brauchen würde und entschied mich für eine Javascript Anwendung.

Ich lernte viel über HTML, CSS, Javascript und JQuery und fing an, die Seiten der Version 0.2 in HTML & JQuery zu programmieren. Doch bei der Anbindung von externen Daten und einer Datenbank fing ich an zu straucheln.

Da brachte Emilio bei einem Gespräch das Konzept der RAD (Rapid Application Development) ins Spiel.

Kapitel 5: CakePHP

http://cakephp.org/
http://cakephp.org/

Ich recherchierte über Frameworks für die schnelle Entwicklung einer Web Anwendung und entschied mich für CakePHP. Dadurch erlernte ich die Basis von PHP Anwendungen.

Ich wählte den Hostdienst Square7 als Server und testete dort meine Entwicklungen. Bei dem Upload der Bilder mit CakePHP kam ich auch hier ins straucheln, und die schnelle Entwicklung war plötzlich gar nicht mehr schnell. Ich beendete auch diesen Versuch. Hier die Ergebnisse.

Kapitel 6: Django

https://www.djangoproject.com/
https://www.djangoproject.com/

Ich begann mich ernsthaft zu hinterfragen, mit was beschäftige ich mich eigentlich?

Und da besann ich mich auf das zurück, was mir Freude und Spass bereitet: Python! Die erste Wahl eines Frameworks war Django.

Die TradeControl 0.5 begann ich nach dem Studium des Tutorials auf der Django Homepage, ich wählte Django 1.6 und Python 3, kam aber nicht so ganz richtig voran.

Kapitel 7: Django & How to Tango with Rango

http://www.tangowithdjango.com/book/#
http://www.tangowithdjango.com/book/#

Für die TradeControl 0.6 wählte ich etwas konservativer Python 2.7 mit Django 1.6. Dieses mal benutze ich das Tutorial How to Tango with Django.

Jetzt fing die Entwicklung an Fahrt aufzunehmen. Das erarbeitete Wissen der voran gegangenen Entwicklungen unterstützte mich gut und ich komme schnell voran.

Mit der Entwicklung der ersten Module, Benutzerverwaltung, Setup, Disziplinen, erlernte ich Django und eignete mir Design Patterns an.

Die Module Journal, Produkte und Statistik werden testgetrieben entwickelt, wobei die Journals das aufwendigste Modul überhaupt ist.

Ausblick

https://www.pythonanywhere.com/
https://www.pythonanywhere.com/

TradeControl 0.6 wird nach Abschluss der ersten Entwicklung in einer Alpha Version auf der Plattform PythonAnywhere kostenlos zur Verfügung stehen.

Anhand der Erfahrungen und Rückmeldungen werden wir TradeControl 0.6 weiterentwickeln. Ich werde in kommenden Blogs darüber berichten.

 

Kommentar schreiben

Kommentare: 0