Idee/Recherche
Die Idee für die Plattform „Cook a week“ entstand aus „Eigennot“. Sich neben dem Studium selbst zu versorgen und selbst zu kochen kann eigentlich ein guter Ausgleich sein. Dennoch kämpft man in einem Zwei-Personen-Haushalt, ob in einer WG oder mit dem Partner mit der Menüplanung, dem Organisieren der Einkäufe und dem Verwerten von Resten. Die meisten Rezepte, die man im Internet oder in Kochbüchern findet sind für 4 Personen, also Familien ausgelegt. Rezeptplattformen gibt es heutzutage im Netz wie Sand am Meer. In der Recherche konnten aber keine Plattformen gefunden werden, welche Rezepte anboten, die für eine Woche aufeinander abgestimmt waren und zudem keine unerwünschten Reste generierten. Des Weiteren bot keine Plattform die Möglichkeit die benötigten Zutaten der Rezepte dann in eine Einkaufsliste auf das Handy importieren zu lassen.
Es war also Zeit etwas Eigenes auf die Beine zu stellen und diese Marktlücke zu schliessen.
Website/Template
Generell entschieden wir uns die Webseite mit dem CMS Joomla! zu programmieren. Ein CMS war für uns deshalb zwingend, da dies eine mögliche Weiterführung der Webseite bedeutend einfacher machen würde.
Aus Zeitgründen wurde entschieden ein bestehendes Template für Joomla! zu benutzen und keines selbst zu programmieren. Dies brachte seine Vor- und Nachteile mit sich. Ein grosser Vorteil war, dass viele der Grundelemente vorprogrammiert waren und mit Hilfe eines Builders individuell angepasst werden konnten. Jedoch nur bis zu einem gewissen Grad. Probleme gab es vor allem beim Anpassen von gewissen Überschriften, welche im Builder nur in der Farbe und Hover-Farbe angepasst werden konnten. Um die Grösse einer solchen Überschrift zu ändern, musste das richtige File gesucht und hardcodiert angepasst werden. Das entsprechende File zu finden war mit einem nicht zu unterschätzenden Zeitaufwand verbunden. In Zukunft lohnt es sich wohl ein komplett eigenes Template zu erstellen.
Anbindung an die Bring!-App
Das Team von Bring! bietet seit kurzem eine API an, welche es erlaubt Zutaten direkt von einem Rezept in die Bring! App zu laden. Da die API noch so neu ist, gibt es weder eine schlaue Developer Doc noch irgendwelche Forumsbeiträge zum Thema. Wir hatten uns also mit den Entwicklern von Bring! in Verbindung gesetzt und diese investierten mit uns Stunden, um die API zum Laufen zu bringen. Dabei handelte es sich um eine Win-Win-Situation. Wir konnten die API einbauen, die Entwickler konnten gerade einen Teil ihrer Dokumentation schreiben und sogar ein paar Probleme an der API selbst entdecken.
In unserem Fall wurden alle Wocheneinkaufslisten in einer JSON-Datei erfasst.
Ein Beispiel: JSON-Datei des 1. Wochenplans
Via der API von Bring! werden die JSON-Dateien ausgelesen, die Daten an Bring! geschickt und in die App importiert.
Was bislang recht simpel erscheint, hatte den einen oder anderen Hacken. Einerseits musste die gesamte Website verschlüsselt werden, da sonst die Dateien nicht übertragen werden konnten, andererseits kann wie so oft beim Programmieren ein kleiner Kommafehler fatale Folgen haben.
Schliesslich aber spielten alle Komponenten zusammen und der Import klappte.
Favicon
Eine einzige Favicon-Datei, ja das war früher mal so. Inzwischen will jedes Endgerät, Betriebssystem und jeder Browser ein für sich optimiertes Favicon. Am Ende waren es 34 verschiedene. Zum Glück aber gibt es Tools wie Realfavicongenerator. Dieses Tool ersparte wohl einige Stunden.
Content/Rezepte
Die Rezepte zu Schreiben und zu sinnvollen Wochenplänen Zusammenzufügen, nahm mehr Zeit in Anspruch als vermutet. Dazu gehört nämlich nicht nur die richtige Mengenabschätzung der einzelnen Rezepte sondern auch das Zusammenspiel der Rezepte innerhalb einer Woche.
Zukunftsausblick
Falls die Idee der Webseite Anklang findet, hat sie hohes Zukunftspotenzial. Sie ist so konzipiert worden, dass sie mit weiteren Funktionen und Inhalten auch noch im Nachhinein ausgestattet werden kann. So ist es denkbar, dass noch weitere Wochenpläne ergänzt werden. Ebenso könnte die Funktion des Hinzufügens der Zutaten in die Bring!-App für jedes Rezept einzeln programmiert werden. In einem weiteren Schritt könnte man auch Komponenten wie festgelegtes Budget, Produktpreise und aktuelle Aktionen in nahe gelegenen Supermärkten in die Menüplanung einfliessen lassen.
Momentan werden die Einkaufslisten via JSON-Files zur Verfügung gestellt. Zukünftig könnten diese aber auch mit Hilfe von structured data bereitgestellt werde. Dies würde nebst dem Vorteil, dass nicht immer eine separate JSON-Datei erstellt und gepflegt werden muss, auch eine Optimierung des SEO's bedeuten. Suchmaschinen wie Google können solche structured data auslesen und direkt in den Suchergebnissen anzeigen. Weitere Informationen zu structured data gibt es unter schema.org.