Vissza a munkákhoz

02 / Mobilalkalmazás

Beszélgetésekből közös pillanatok.

A LifeWithFriendsben a beszélgetés, a baráti kapcsolatok és a helymegosztás ugyanahhoz az alkalmazáshoz tartoznak. A fejlesztésben az a feladat, hogy ezek a különböző működések a telefonon is érthető egésszé álljanak össze.

FlutterSupabaseRealtimeFCMOpenStreetMap
LifeWithFriendsCHAT × FRIENDS × LOCATIONKONCEPCIÓÁBRA / GPSOFT
Sematikus koncepcióábra; a projekt témáját szemlélteti.

Egy alkalmazás, többféle kapcsolat

A LifeWithFriends középpontjában a baráti kapcsolatok és a kommunikáció állnak. A közvetlen és csoportos beszélgetéseket képek és videók egészítik ki, a helymegosztás pedig külön, kérésre induló és időszakos funkcióként kapcsolódik hozzájuk.

A kliens Flutterrel készült. A háttérben Supabase szolgálja ki a hitelesítést, az adatbázist, a média tárolását és a realtime működést; a pushértesítésekhez Firebase Cloud Messaging kapcsolódik. Ezeket nem külön funkciólistaként érdemes nézni, hanem annak az útnak a részeként, amely a telefonon végzett művelettől a másik felhasználóig vezet.

Egy üzenet több rétegen halad át

A beszélgetés felülete a közvetlen és a csoportos chatet is összefogja. Szöveg mellett képek és videók is kapcsolódhatnak az üzenetekhez, ezért a kliensnek a beszélgetés adataival és a médiával is együtt kell dolgoznia.

A Supabase realtime része és a Firebase Cloud Messaging külön szerepet kap. A beszélgetés aktuális adatai és a telefonra érkező értesítés összetartoznak a felhasználó számára, de a fejlesztésben külön működésekként kell őket kezelni. Ez az egyik pont, ahol a felület és a backend közötti kapcsolat különösen kézzelfogható.

A helymegosztásnak saját folyamata van

A helymegosztás kérésre indul és időszakos. Nem a chat állandó, háttérben futó mellékhatásaként jelenik meg: külön műveletként és külön engedélyezési helyzetként kell gondolkodni róla.

A helyadatokhoz térképes megjelenítés is tartozik, OpenStreetMap és Nominatim használatával. Itt már nemcsak az számít, milyen adat jut el a képernyőre, hanem az is, hogyan kapcsolódik hozzá a telefon helyengedélye és a megosztás állapota. A felület feladata, hogy ezt a folyamatot követhetővé tegye.

A háttérszolgáltatás az alkalmazás része

A hitelesítés, a baráti kapcsolatok adatai, az üzenetek és a feltöltött média ugyanahhoz az alkalmazáshoz tartoznak, mégis eltérő feladatokat jelentenek. A Supabase ezeket több szolgáltatáson keresztül fogja össze, a Flutter kliens pedig a felhasználói műveleteket kapcsolja hozzájuk.

A LifeWithFriends ezért számomra nem csupán mobilfelület-fejlesztés. A chat, a helymegosztás, az engedélyek és a backend együtt alakítják a működését. Minden új funkciónál végig kell gondolni, melyik rész mit tud, és hogyan jelenik meg mindez érthetően a telefonon.

Egy közös alkalmazásban a funkcióknak egymással is együtt kell működniük. A fejlesztés érdekes része éppen ezeken a határokon van.