Skip to content

WVV-Crowd-Sourced-Stock-Tracking/ios-app

Repository files navigation

WhatsLeft?

wirVsVirus Swift5.1 SwiftUI macOS iOS Build Status

WhatsLeft is a crowd-sourced solution to see which items grocery stores have left in stock.

Die iOS-App verwendet SwiftUI und Combine und wurde in weniger als 48 Stunden als Teil von #WirvsVirusHack geschrieben, einem Hackathon, der von der deutschen Regierung organisiert wurde, um eine Lösung für die Probleme in der Coronakrise zu finden.

Ein Like auf unser Youtube-Video würde uns sehr helfen: Youtube-Video

Weitere Dokumentationen:

Code Struktur der iOS / macOS app

Unsere App ist nach MVVM aufgebaut. Dabei findet die Anbindung zum View Model über @ObserverdObjects statt. Dies ermöglicht uns nicht nur eine saubere Trennung von Objekt-Stukturen, Logik und View-Code sondern Live Updates der UI sobald neue Daten vorliegen.

MVVM

Struktur der Views

Die Views sind in zwei verschiedene Typen aufgeteilt, MainViews und SubViews. SubViews, auch Components genannt, stellen hierbei Views da, die ausschließlich in einer anderen View verwendet werden. Also bei einer Liste ist die Liste die MainView und die Listenelemente sind die SubViews.

Struktur der ViewModels

Die ViewModels spiegeln die HauptViews wieder. Jede HauptView hat ein eigenes ViewModel, ausgenommen von dieser Regel sind die Detail-, Filter- und Einkaufsliste-View.

Kommunitkation mit den Backend

Die Kommunikation mit den Backend findet über eine REST-API statt, diese wird durch das Framework Combine ermöglicht. Combine erlaubt es uns, asynchron die Daten zu laden und anschliend durch ein ViewModel die View zu aktualisieren.

MacOS app

Bei der MacOS-App handelt es sich um eine Catalyst-App. Catalyst ist ein Framework, welches es uns ermöglicht eine iOS-App als native App unter MacOS laufen zu lassen.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published