Market Checker ist ein Software-Projekt, das im Sommersemester 2011 im Modul Software Engineering 2 des Studienganges Bachelor Angewandte Informatik (B-AI) erstellt wurde.
Es handelt sich um eine Informationsplattform auf der Nutzer Artikelpreise von Supermärkten in ihrer Nähe recherchieren und selbst eintragen können. Eingetragen werden können Artikel, Hersteller und Läden. Artikel können mit Kommentaren und Bildern versehen werden. Bilder, Kommentare und Artikel können bewertet werden, oder im Falle von Regelverstößen gemeldet werden.
Benutzer müssen ihre E-Mail-Adresse bei der Registrierung oder bei deren Änderung verifizieren, wozu ihnen eine E-Mail zugesandt wird[1]wurde. Der dafür eingerichtete Mailserver existiert inzwischen nicht mehr.. Im Benutzerprofil kann ein, vom Benutzernamen verschiedener, eindeutiger Name gewählt und ein Avatar hochgeladen werden, die anderen Benutzern angezeigt werden. Produkte oder Suchbegriffe, die der Benutzer sich gerne merken möchte, kann er zu beliebig vielen Einkaufslisten hinzufügen.
Projektbeteiligte waren Jan Kuffer (Projektleitung und App), Philip Rose (Gestaltung und App), Vassilios Stavrou (App und API), Dimitri Fast (Webseite), Dieter Pisarewski (Webseite) und ich (API und API-Tests).
Es wurde eine Android-App mit Barcode-Scanner in Java entwickelt, sowie eine dazugehörige Webseite und mobile Webseite in Ruby. Um App, Webseite, mobile Webseite und evtl. weitere zukünftige Anwendungen zu unterstützen, wurde eine zentrale XML-API als sichere Schnittstelle zur Datenbank in PHP erstellt. Vor ihrer Implementierung wurden alle API-Methoden in der API-Dokumentation ausführlich spezifiziert, damit App und Webseite zeitgleich zur API entwickelt werden können.
Die API wurde fast vollständig rechtzeitig fertiggestellt, lediglich die Suche nach Artikeln verzögerte sich, weil die Kombinationsmöglichkeiten der vielen optionalen Parameter zu komplexeren SQL-Ausdrücken führte. Zum Testen der XML-API wurde ein eigenes Test-System in PHP mit cURL erstellt, dessen vollständige Ausgabe von 966 Einzeltests man hier betrachten kann. Die meisten Methoden und optionalen Parameter der API werden von der App und der Webseite nicht verwendet, bieten aber die Möglichkeit diese weiter auszubauen.
Die Webseiten werden nicht mehr von der dafür zuständigen Person gehostet. Mir liegt der Ruby-Quelltext nicht vor, um die Webseiten selbst hosten zu können.
Sprachen | PHP, SQL, XML, HTML, CSS, Java |
---|---|
Technologien | XSD, DTD, MySQL, ProFTPD, E-Mail, bcrypt, Mersenne Twister, cURL, convert (ImageMagick) |
Tools | Skype |
IDE | Notepad++, Eclipse |
Beteiligte | 6 |