Społecznościowa aplikacja z pojedynkami obrazów, rankingami, zadaniami i moderacją treści.
Dostarczony zakres
- Aplikacja Flutter z głosowaniem, profilami, rankingami i zadaniami
- Backend Firebase z Cloud Functions, Firestore i powiadomieniami
- Moderacja treści, zgłoszenia, blokady, komentarze i prywatny czat
Konkretne rezultaty
- Pełny cykl treści tworzonych przez użytkowników wraz z zapleczem administracyjnym
- Operacje wymagające zaufania przeniesione z klienta do funkcji serwerowych
- Spójny interfejs aplikacji dostępny po polsku i angielsku
Problem
Prosty mechanizm głosowania miał pozostać szybki, ale jednocześnie obsłużyć profile, prywatność, ranking, nagrody, komunikację i moderację bez utraty spójności danych.
Rozwiązanie
Aplikacja została zbudowana we Flutterze, a Firebase obsługuje logowanie, dane, funkcje serwerowe i powiadomienia. Obrazy mają kilka wariantów rozmiaru, dzięki czemu listy i szczegóły nie pobierają tych samych ciężkich plików.
- Głosowanie 1 na 1 i serie głosów.
- Profile publiczne i prywatne, obserwowanie oraz odznaki.
- Zadania dzienne i sklep z elementami profilu.
- Komentarze, wzmianki i czat prywatny.
- Panel moderatora, zgłoszenia i blokady użytkowników.
- Interfejs po polsku i angielsku.
Najważniejsze decyzje
Logika wymagająca zaufania, w tym moderacja i część operacji punktowych, trafia do Cloud Functions. Reguły Firestore ograniczają bezpośrednie zapisy klienta, a osobna dokumentacja bezpieczeństwa opisuje granice pomiędzy aplikacją i backendem.
Rezultat
Projekt wykracza poza prostą aplikację demonstracyjną: obejmuje pełny cykl treści tworzonych przez użytkowników, przechowywanie multimediów, bezpieczeństwo, powiadomienia i narzędzia administracyjne.
