Eine Website, die für die „Challenge 2 – Präsentation von Daten, Frontend-fokussiert“ von der Falmouth University entwickelt wurde. Diese Website bietet Benutzern eine benutzerfreundlichere Oberfläche zum Anzeigen von Wetterstatistiken über die APIs http://api.spitcast.com/.
Herausforderung 2 – Datenpräsentation, Frontend-fokussiert
Details zur Herausforderung: Erstellen Sie eine Website, die auf die API zugreift und Ihren Kunden die Informationen auf effektive, auffällige und gut gestaltete Weise präsentiert. Nehmen Sie die JSON-Rückgaben dieser API und zeigen Sie sie auf einer ansprechenden Website an. Verwenden Sie beliebige Frameworks, damit dies effektiv funktioniert. Eine Liste bestimmter Spots finden Sie hier im JSON-Format (aus http://api.spitcast.com/api/spot/all) – sie haben ihren Sitz in den USA. Die einzelnen User Stories, die Sie beantworten müssen, sind (in der Reihenfolge ihrer Wichtigkeit):
• Als Surfer erwarte ich, dass ich mein Fachwissen auf „Anfänger“, „Mittelstufe“ oder „Experte“ einstellen kann. • Als Anfänger im Surfen gehe ich davon aus, dass die Qualität eines Spots bei höheren Windstärken von bis zu 15 Knoten zunimmt und dann bis zu 20 Knoten abnimmt. Danach sollte die Qualität der eines ruhigen Tages entsprechen. • Als fortgeschrittener Surfer erwarte ich, dass die Qualität des Spots mit höheren Geschwindigkeiten bis zu 20 Knoten zunimmt und dann bis zu 25 Fuß abnimmt. Danach sollte die Qualität die gleiche sein wie an einem ruhigen Tag. • Als erfahrener Surfer erwarte ich, dass die Qualität des Spots mit zunehmendem Wind immer besser wird. • Als Surfer muss ich den besten Spot zum Surfen für heute finden. • Als Surfer kann ich meinen aktuellen Standort auswählen und den nächstgelegenen Spot anhand der Entfernung in den oberen 25 % der Spots finden (berechnet anhand der Great Circle-Distanzen). • Als Surfer kann ich meinen aktuellen Standort auswählen und den besten Spot innerhalb einer bestimmten Entfernung finden. • Als Surfer kann mein aktueller Standort automatisch ermittelt werden (z. B. mithilfe der HTML5-Geolocation-API). • Als Surfer kann ich meinen aktuellen Standort auswählen und den nächstgelegenen Ort anhand der Fahrzeit in den oberen 25 % der Orte finden (kann hierfür die Google Directions API oder die Google Distance Matrix API verwenden). • Als Surfer kann ich meinen aktuellen Standort auswählen und innerhalb einer bestimmten Fahrzeit den besten Spot finden. Einreichungsformat Bitte stellen Sie Folgendes bereit: • Ein vollständig baufertiges Paket, das auf einem privaten BitBucket-, GitLab- oder GitHub-Repository gehostet und mit [email protected] geteilt wird. • Optional: Eine Live-Instanz Ihrer abgeschlossenen Herausforderung, wenn sie im Web gehostet wird, eine ausführbare Windows-Datei, wenn es sich um einen Desktop-Build handelt, oder ein APK, wenn es sich um einen Android-App-Build handelt. • Die Zeit, die zum Abschließen der Herausforderung benötigt wurde. Bewertungskriterien Die Bewertungskriterien für diesen Test sind: 1. Arbeitsfunktionalität. 2. Qualität der Benutzererfahrung (die Bereitstellung einer Live-Instanz hilft dabei). 3. Grad der Einhaltung der SOLID-Grundsätze. 4. Bei automatisierten Tests werden Sie nicht besonders beurteilt.
Erstellt durch die Verwendung der Wetter-API http://api.spitcast.com/ | Tolle API für frei verfügbare Wetterinformationen, basiert jedoch auf den USA und ist daher für uns nicht allzu relevant (basiert im Vereinigten Königreich).
Geänderte Bootstrap-Vorlage „SB Admin 2“: https://startbootstrap.com/themes/sb-admin-2/ | Am besten geeignetes Layout und unterstützt mehrere Geräte.
Derzeit in Entwicklung* Aus Zeitgründen konnten bestimmte Funktionen nicht fertiggestellt werden und die Kommentare waren nicht so, wie ich es gerne hätte, aber die Website ist funktionsfähig*. Spots in meiner Nähe befinden sich derzeit im Status „Work in Progress“. Wird die Entwicklung fortsetzen, sobald das Ergebnis vorliegt. Kommentare zum Code. Beheben Sie die seltsame Strukturierung (Einrückung) des Codes, die während der Übertragung von Notepad++ zu Github verursacht wurde