Kochkarte, mit wie viel Aufwand muss ich rechnen?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kochkarte, mit wie viel Aufwand muss ich rechnen?

    Hallo Zusammen,

    meine Mama hatte gestern die Idee, dass es doch cool wäre, dass Freunde in der App über eine Benachrichtigung oder über die Karte sehen können,
    dass man gerade kocht oder grillt und wo das ganze statt findet.
    Ich selbst finde auch dass das ne recht witzige Idee ist, jedoch habe ich die Vermutung dass ich so etwas gar nicht schaffen kann.
    Ich habe mal ein bisschen rum gegoogelt und festgestellt, dass man zwar sich selbst recht einfach auf der Karte anzeigen lassen kann, jedoch habe ich zum anzeigen von Ereignissen anderer nichts gefunden.
    Die Idee mit der Benachrichtigung ist auch ganz cool, aber denke ich auch recht schwer umsetzbar oder?

    Was denkt Ihr, mit wie viel aufwand ist das ganze verbunden, bzw. ist das überhaupt machbar?

    Liebe Grüße,
    Ferdi
  • Wenn Du Daten, also in diesem Fall "wer kocht/grillt gerade wo", mit mehreren Nutzer eine App teilen möchtest, dann wirst Du wohl über einen Server/ein Backend bzw. eine zentrale Speichern dieser Daten/Informationen nicht herum kommen.

    D.h. jeder Nutzer der App könnte dann an den Server/ans Backend melden, dass er gerade an Location xy kocht/grillt. Der Server könnte dann eine Push-Nachricht an alle anderen Nutzer/Devices senden, dass jemand gerade an Location xy angefangen hat zu kochen.

    Auf der Karte könntest Du dann alle Locations anzeigen, an denen gerade gekocht/gegrillt wird.

    Bei einer überschaubaren Anzahl an Nutzern der App sollte ein einfacher Webserver ausreichen, auf dem Du ein paar Skripte als API und eine DB verwenden kannst. Bei sehr vielen Nutzern könnte ggf. ein AWS oder dergleichen erforderlich werden.
  • Ferdinand schrieb:

    Hallo Zusammen,

    meine Mama hatte gestern die Idee, dass es doch cool wäre, dass Freunde in der App über eine Benachrichtigung oder über die Karte sehen können,
    dass man gerade kocht oder grillt und wo das ganze statt findet.
    Ich selbst finde auch dass das ne recht witzige Idee ist, jedoch habe ich die Vermutung dass ich so etwas gar nicht schaffen kann.
    Ich habe mal ein bisschen rum gegoogelt und festgestellt, dass man zwar sich selbst recht einfach auf der Karte anzeigen lassen kann, jedoch habe ich zum anzeigen von Ereignissen anderer nichts gefunden.
    Die Idee mit der Benachrichtigung ist auch ganz cool, aber denke ich auch recht schwer umsetzbar oder?

    Was denkt Ihr, mit wie viel aufwand ist das ganze verbunden, bzw. ist das überhaupt machbar?

    Liebe Grüße,
    Ferdi
    An einer ähnlichen App in einem anderen Kontext sitze ich auch gerade und soo komplex ist das nicht.

    Wie von @AppleDeveloper geschrieben, bei sowas bietet sich Firebase extremst an. Gute Dokumentation, gute Verfügbarkeit, einfach in eine Swift App einzufügen.
    Etwas .. Ich nenne es mal "komplex" können die Abfragen werden, denn da fängst du dann an mit CompletionHandlern oder async Befehlen zu arbeiten, denn Firebase DBs sind asynchron - wenn ich mich recht erinnere.
    Da musste ich persönlich erstmal mit klar kommen.
    EDIT: Falls du noch nie mit SQL Datenbanken gearbeitet hast, ist es aus meiner Sicht auch noch mal ein Vorteil, Firebase arbeitet mit einer JSON Struktur. Das macht die Abfragen "anders" und kann SQL Datenbank Heinis (so einen wie mich :D) etwas verwirren zu beginn.

    Die Karte befüllst du mit den GeoKoordinaten der Nutzer - theoretisch können also die Leute sogar einen Ort antippen auf dem sie eine Grill-/Kochveranstaltung planen - du speicherst die GeoKoordinaten dann auf einem Firebase Server und rufst sie ab, sobald Nutzer x "danach fragt", also auf seiner Karte alle Veranstaltungen angezeigt haben will. Ich persönlich werde das mit einem "Aktualisieren"-Button lösen, das macht die UX wahrscheinlich am angenehmsten.

    Benachrichtigungen kannst du / bzw. würdes ich entweder über eine "Friendlist" lösen oder über eine "Aktivitäten teilen" Funktion. Dafür empfiehlt sich aber trotz alledem ein Profil für jeden Nutzer (so habe ich es auch umgesetzt), über dass dann die Interessenten eingeladen werden können, bzw. du eben eine Art Friendlist initialisierst. Damit umgehst du, dass Eckhardt Hammerstein von Nebenan zum 8 mal dein Mittag wegfrisst, weil er einfach ein zügelloser Schlemmer König ist ;-)..

    Bezüglich der Markierungen auf der Karte gibt es zig gute Github Repos. Ich sitze grade auf der Arbeit und nicht an meinem Macbook, sonst hätte ich dir was schicken können.. Einfach mal bei Github etwas rumschnüffeln, dafür isses ja da.

    Alles in allem ist das aus meiner Sicht schon ein "Fortgeschrittenen"- Projekt. Du arbeitest mit vielen Techniken die etwas mehr Grips und Erfahrung benötigen, was aber nicht abschrecken sollte.

    Ps.
    Die einfachste Lösung ist wahrscheinlich:
    1. Firebase Datenbank mit GeoCoordinaten erstellen
    2. Karte initialisieren mit einem kleinen Menü im unteren Bereich, wo du sortieren kannst (Grillen / Kochen)
    3. Aktualisieren Button um dir die neuesten Daten aus der Firebase zu ziehen
    4. Sobald eine Veranstaltung (ein Pin) auf der Karte erscheint, ein kleines Info Fenster öffnen, wenn man auf den Pin klickt (zB. "Grillen bei Muddern" oder "Bier, Wein und Würstchen bei Werner")
  • Mit stellen sich immer ziemlich die Nackenhaare auf wenn ich so lese was auf Google Servern alles so gespeichert wird.

    Wenn ich eine App auf meinem handy installiere gehe ich eigentlich nicht davon aus, dass alles was ich da angebe bei Google landet aber das ist anscheinend Wunschdenken.

    Muss der User der App eigentlich darüber informiert werden?
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Thallius schrieb:

    Mit stellen sich immer ziemlich die Nackenhaare auf wenn ich so lese was auf Google Servern alles so gespeichert wird.

    Wenn ich eine App auf meinem handy installiere gehe ich eigentlich nicht davon aus, dass alles was ich da angebe bei Google landet aber das ist anscheinend Wunschdenken.

    Muss der User der App eigentlich darüber informiert werden?
    Gemäß DSGVO ist die Weitergabe von Kundendaten wie folgt geregelt :

    Die Weitergabe von Kundendaten nach Datenschutzrecht

    Die Weitergabe oder sogar der Verkauf von Nutzer- und Kundendaten ist nicht ohne weiteres möglich. Folgende Szenarien sind möglich:
    • Weitergabe / Verkauf im Rahmen eines kompletten Unternehmensverkaufs (da sich der Verantwortliche nicht ändert, gibt es hier keine Probleme)
    • Weitergabe / Verkauf im Rahmen eine Asset Deals (ggf. Einwilligung der Betroffenen notwendig, weitere Informationen finden Sie hier.)
    • Weitergabe von Daten im Rahmen einer Auftragsverarbeitung (AV-Vertrag ist notwendig)
    • Weitergabe von Daten in Drittstaaten (z.B. Google Analytics, Garantien müssen vorliegen)
    • Weitergabe / Verkauf zum Zwecke des Adressenhandels (in der Regel neue Einwilligung notwendig, insofern bei der Erhebung der Daten nicht geschehen)

    Also wird / muss der Entwickler eigentlich dem Nutzer mitteilen, dass die Daten in Amerika / Drittstaaten gespeichert werden.. Wie das in der Praxis geregelt ist, kann ich dir nicht sagen... Nutzungsbedingungen habe ich noch nie selber verfasst :D

    Umgehen könntest du das mit nem deutschen Server. Ich weiß nicht ob Firebase die Option anbietet, vermute aber nicht.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ashtari ()

  • Vielen Dank für die vielen Antworten! :thumbup:

    Das klingt wohl nach einer richtigen Aufgabe für mich.
    Vielleicht versuche ich auch erst ein mal eine Freundesliste einzuführen, bei der man sehen kann wie oft jemand diese Woche schon gekocht hat oder ähnliches.
    Gerne probiere ich das mit der Firebase Variante wie von @Apix beschrieben! :thumbup:

    Ich mach mich jetzt mal auf Google bissl schlau wie man so etwas an die Hand nimmt.
    Ich halte euch auf dem laufenden!

    Liebe Grüße,
    Ferdi
  • ashtari schrieb:

    Wie das in der Praxis geregelt ist, kann ich dir nicht sagen... Nutzungsbedingungen habe ich noch nie selber verfasst :D
    Dann wird Dir diese Herausforderung für Dein o. g. Projekt ja noch bevorstehen ... oder programmierst Du dort im Auftrag? Ich habe vor Nutzungsbedingungen insbesondere bzgl. GDPR auch einen Heidenrespekt.

    ashtari schrieb:

    Umgehen könntest du das mit nem deutschen Server.
    Ernsthaft? Meines Wissens musst Du auch dort ein Einverständnis für die Speicherung personenbezogener Daten einholen - oder es muss ein "berechtiges Interesse" vorliegen bzw. diese zur Vertragserfüllung notwendig sein. Unabhängig davon brauchst Du auch den AV-Vertrag mit dem Dienstleister.

    Aber wir driften ab :) Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • MyMattes schrieb:

    ashtari schrieb:

    Wie das in der Praxis geregelt ist, kann ich dir nicht sagen... Nutzungsbedingungen habe ich noch nie selber verfasst :D
    Dann wird Dir diese Herausforderung für Dein o. g. Projekt ja noch bevorstehen ... oder programmierst Du dort im Auftrag? Ich habe vor Nutzungsbedingungen insbesondere bzgl. GDPR auch einen Heidenrespekt.

    ashtari schrieb:

    Umgehen könntest du das mit nem deutschen Server.
    Ernsthaft? Meines Wissens musst Du auch dort ein Einverständnis für die Speicherung personenbezogener Daten einholen - oder es muss ein "berechtiges Interesse" vorliegen bzw. diese zur Vertragserfüllung notwendig sein. Unabhängig davon brauchst Du auch den AV-Vertrag mit dem Dienstleister.
    Aber wir driften ab :) Mattes
    Ne, dass steht mir noch bevor.
    Ich habe aber eine Vergangenheit als Projekt Kaufmann und schon viel mit Verträgen gearbeitet, daher hoffe ich das es mir da etwas leichter fällt.. Aber wie das so ist, wenn man etwas das erste mal macht.. Es braucht Zeit und viel Energie :D

    Nein, umgehen kannst du das Einholen des Einverständnisses nicht - aber du musst nicht explizit erwähnen das die Daten auswärts gespeichert werden.
    Etwas irreführend von mir geschrieben, geb ich zu :S .


    Ferdinand schrieb:

    Vielen Dank für die vielen Antworten! :thumbup:

    Das klingt wohl nach einer richtigen Aufgabe für mich.
    Vielleicht versuche ich auch erst ein mal eine Freundesliste einzuführen, bei der man sehen kann wie oft jemand diese Woche schon gekocht hat oder ähnliches.
    Gerne probiere ich das mit der Firebase Variante wie von @Apix beschrieben! :thumbup:

    Ich mach mich jetzt mal auf Google bissl schlau wie man so etwas an die Hand nimmt.
    Ich halte euch auf dem laufenden!

    Liebe Grüße,
    Ferdi
    Das wäre zum Beispiel eine sehr schöne Aufgabe für Beginner und geht auch recht flott von der Hand. Wenn du das dann hast, kannst du es ja immer noch erweitern.
    Du findest eigentlich alles zu Firebase in der eigenen Dokumentation und auf Youtube..
    Firebase - Fügen Sie Ihrem Apple-Projekt Firebase hinzu

    Schön daran
    1. Du lernst wie man mit Cocoapods umgeht (falls noch nicht gemacht)
    2. Du hast deine erste Datenbank aufgesetzt
    3. Du machst die ersten Datenbank Zugriffe
    4. Du arbeitest mit einem User Objekt und kannst es individuell erweitern und damit rumspielen

    Viel spaß dabei :)
  • ashtari schrieb:

    Gemäß DSGVO ist die Weitergabe von Kundendaten wie folgt geregelt :
    Also wird / muss der Entwickler eigentlich dem Nutzer mitteilen, dass die Daten in Amerika / Drittstaaten gespeichert werden.. Wie das in der Praxis geregelt ist, kann ich dir nicht sagen... Nutzungsbedingungen habe ich noch nie selber verfasst :D
    Umgehen könntest du das mit nem deutschen Server. Ich weiß nicht ob Firebase die Option anbietet, vermute aber nicht.
    Naja das ist ein Punkt den ich nie richtig verstanden habe. Eigentlich gilt:

    1. Datentransfers in andere Länder, die keine anerkannten gesetzlichen Datenschutzbestimmungen haben sind nur unter bestimmten Bedingungen zulässig.


    Ich habe aber bisher keine Muße gehabt herauszufinden was die besonderen Bedingungen sind. Zum Glück ist mein bester Freund CISO bei einem amerikanischen Groß-Konzern und ich kann immer fragen ob ich das darf was ich vorhabe :D
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Wenn es um eine leicht zu implementierende Backendlösung geht, die nur für iOS verwendet wird, dann solltest du dir CloudKit anschauen.

    Vorteile:
    - schnelle Umsetzbarkeit
    - native Lösung
    - einfach einzubauen
    - simples key-value Store Model
    - direkte PushNot-Integartion

    Nachteile:
    - keine Cloud-functions
    - eher für einfache Lösungsansätze gedacht
    - PushNots können nicht aus CLoudKit-heraus an einzelne User versandt werden, sondern werden per Broadcast gepublished

    Was sind deine Anforderungen?
    - Einfaches Datenmodel / keine Cloud-functions
    - nur iOS
    - PushNots als Broadcast an alle Nutzer ( "Alf grillt im Garten" > aller Nutzer bekommen diesen Push ) > es kann noch mit predicates feiner eingestellt werden. Aber wenn du einzelne Nutzer direkt anpushen möchtest, wird dich CloudKit allein nicht glücklich machen
    - schnelle, native Umsetzung

    Ergo:
    CloudKit sollte deinen UseCase abdecken und dir schnell Resultate liefern.
  • Mir fehlt erst mal das wesentlich, wie kommt Wer, kocht was, wo überhaupt auf die Maschine? Dann einfach, in den Shared Space hochladen, per Notifikation informieren oder in bestimmten Zeitintervallen benachrichtigen, User informieren, fertig!

    PS: Zum Ainformieren der eigenen App gibt es ja dann auch noch alternativen, wie EMail, Messager….
    … mal um die Ecke denken!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Wolf ()

  • 322 schrieb:

    Wenn es um eine leicht zu implementierende Backendlösung geht, die nur für iOS verwendet wird, dann solltest du dir CloudKit anschauen.

    Vorteile:
    - schnelle Umsetzbarkeit
    - native Lösung
    - einfach einzubauen
    - simples key-value Store Model
    - direkte PushNot-Integartion

    Nachteile:
    - keine Cloud-functions
    - eher für einfache Lösungsansätze gedacht
    - PushNots können nicht aus CLoudKit-heraus an einzelne User versandt werden, sondern werden per Broadcast gepublished

    Was sind deine Anforderungen?
    - Einfaches Datenmodel / keine Cloud-functions
    - nur iOS
    - PushNots als Broadcast an alle Nutzer ( "Alf grillt im Garten" > aller Nutzer bekommen diesen Push ) > es kann noch mit predicates feiner eingestellt werden. Aber wenn du einzelne Nutzer direkt anpushen möchtest, wird dich CloudKit allein nicht glücklich machen
    - schnelle, native Umsetzung

    Ergo:
    CloudKit sollte deinen UseCase abdecken und dir schnell Resultate liefern.
    Jetzt muss man sich aber die Frage stellen mit was du deine Vor- und Nachteile vergleichst.

    Firebase ist extrem schnell eingesetzt und auch einfach einzubauen.
    Ein "Nachteil" von Cloudkit ist, dass du einen Apple Dev Acc brauchst.. Ich weiß jetzt nicht ob TE schon einen hat.
    Und zweiter "Nachteil" ist, PushNots als Broadcast ist dann später Pain in the ass :D Mal angenommen du hast 1k User.. Dann sendest du einen Push an alle Nutzer..
    Das erinnert mich an die Zeiten in denen man Facebook Veranstaltungen öffentlich machen konnte und plötzlich 5k "Besucher" auf Houseparty xyz aufgeschlagen sind.. :D

    Zum rum probieren eignet sich Firebase da mMn. etwas besser für Anfänger, vor allem wenn's eher eine Bastelaufgabe ist.

    Wolf schrieb:

    PS: Zum Ainformieren der eigenen App gibt es ja dann auch noch alternativen, wie EMail, Messager….
    … mal um die Ecke denken!
    Ich glaube hier geht es erst einmal darum ein wenig zu basteln und darauf aufzusetzen und nicht schon die fertige Lösung zu haben..
    Habe ich jetzt zumindest aus den Antworten vom Thread Ersteller heraus gelesen:

    Ferdinand schrieb:

    Vielleicht versuche ich auch erst ein mal eine Freundesliste einzuführen, bei der man sehen kann wie oft jemand diese Woche schon gekocht hat oder ähnliches.
    "Um die Ecke denken" kann er dann mit einer Freundesliste immer noch ;^)


    Wolf schrieb:

    Mir fehlt erst mal das wesentlich, wie kommt Wer, kocht was, wo überhaupt auf die Maschine?
    Das "Wesentliche" ist ja eigentlich geklärt. Also, was der TE mit seiner App Idee umsetzen will.
    Die Frage "Wie jemand zum essen kommt" für die Umsetzung nicht gänzlich uninteressant? Was interessierts mich ob Person A mit dem Auto, Bus, Bahn, Fahrrad, Fuß kommt? Oder meinst du mit Bezug auf Parksituation?

    "Wer kocht was" hat TE ja bereits beantwortet. Einer kocht und andere sehen das und können dazu kommen.
    Wenn man die Frage umformuliert, hilft es glaube ich eher - kann Person B auch etwas kochen und es mit zu Person A bringen? Würde ich in die Liste "Feature" packen, ist ja für die Grundfunktionalität erst einmal nicht relevant.

    "Wo überhaupt auf die Maschine" da verstehe ich nicht was du meinst.


    "Gut ist besser als Perfekt" trifft es hier mMn. sehr gut.
    TE kann klein Anfangen und implementiert jetzt eine F-Liste, legt einen Userlogin an, pflegt sein User Objekt..
    Dann gehts an die Features der App.
    User xyz postet ein Event -> Dann sitzt er erst einmal daran das Event richtig zu pflegen und zu verarbeiten.
  • Wenn du den Implementierungsaufwand von Firestore und CloudKit vergleichst, so gewinnt ganz klar CloudKit. Weniger Code, native Lösung, keine (gern mal zickige) 3rd Party Integration.

    Quellcode

    1. dass du einen Apple Dev Acc brauchst..
    gut, wer Apps veröffentlichen möchte, braucht sowas. Was willst machen.


    Quellcode

    1. PushNots als Broadcast ist dann später Pain in the ass :D
    PushNots sind seit ihrer Einführung einfach mal kastastophal. Ob Firebase, AWS, 3er Party, externer Service oder gar native, alles was direkt den einzelnen User anpushen soll, ist echt nichts fuer Beginner, gleich, welcher Weg beschritten werden soll. CloudKit out of the Box unterstützt nur PushBroardcast, jedoch lässt ich der User-Push natürlich auch dort einbauen.



    Firestore ist als Lösung auch ok. Der Aufwand ist grösser, die 3rd Party (Tipp: nutze besser SPM 8.14.0 stabil und deaktiviere die Autoupdates) macht gern Ärger und wie es mit Google Analytics weitergeht, dass weiss auch keiner so genau.

    Ich persönlich entscheide mich fast immer gegen CloudKit als Hauptserversystem. Aber die Argumente, die fuer mich gegen CloudKit sprechen, sehe ich in diesem UseCase nicht greifen. allerdings setze ich es sehr gern fuer iCloudSys und Backups ein, da ist es einfach die Beste Wahl.
  • 322 schrieb:



    Firestore ist als Lösung auch ok. Der Aufwand ist grösser, die 3rd Party (Tipp: nutze besser SPM 8.14.0 stabil und deaktiviere die Autoupdates) macht gern Ärger und wie es mit Google Analytics weitergeht, dass weiss auch keiner so genau.

    Ich persönlich entscheide mich fast immer gegen CloudKit als Hauptserversystem. Aber die Argumente, die fuer mich gegen CloudKit sprechen, sehe ich in diesem UseCase nicht greifen. allerdings setze ich es sehr gern fuer iCloudSys und Backups ein, da ist es einfach die Beste Wahl.
    Was spricht für dich gegen CloudKit und was nimmst du "am liebsten"? Rein aus Interesse.
    Ich persönlich finde Firebase tatsächlich recht nett und anwenderfreundlich dank großer und guter Dokumentation (gibt es natürlich auch bei anderen Anbietern).


    322 schrieb:

    gut, wer Apps veröffentlichen möchte, braucht sowas. Was willst machen.
    Is schon richtig - aber der Thread Verlauf zeigt ja, dass es hier eher um eine kleine Bastelei geht. Daher weiß ich nicht ob er (schon) einen Apple Acc hat.
  • ich persönlich treffe meist nicht die Entscheidung, welche Backend-Lösung zum Einsatz kommt. Meist ist es AWS mit dedizierten Servern. AWS RDS oder Aurora im SQL als Serverless nimmt zu. DynamoDB und CloudFuncs kann vieles abdecken. Wichtig für mich ist da eher, ist es per Rest oder GraphQL angebunden.

    Privat nutze ich auch Firestore. Der Hauptgründe sind:
    - es könnte auch mal später an Android angebunden werden (und sind wie ehrlich, das passiert fast nie, aber die Option ist vorhanden)
    - UserPushNots / der native Weg diese zu integrieren ist einfach mal sehr aufwendig und nervenaufreibend. Da kann die Firestore-Abstraktion ein bisschen helfen

    Wenn ich einen eigenen Web-Server aufsetzen müsste, dann wuerde es sicherlich auf AWS S3 fuer die Production hinauslaufen. Für einen ShowCase koennte es eine SQL-onlineDB von HostEurope sein.

    Was spricht gegen CloudKit:
    - keine CloudFuncs > damit koennte man ja noch leben, muss man Datenmanagement eben auf dem Device machen
    - iOS only > die meisten Apps werden in den seltensten Fällen sinnvoll (und erfolgreich) nach Android portiert. Aber die Option zu haben, ohne das Backend wechseln zu müssen, ist leider wichtig.
    - Apple hat CloudKit nie wirklich Priorität in der Entwicklung beigemessen, leider > wenn da mal der Knoten platzen sollte, wer weiss ....