← Powrót do projektów
Produkt webowy

Explomania

Explomania to pełnostackowa platforma podróżnicza zaprojektowana, aby przekształcić eksplorację świata rzeczywistego w doświadczenie oparte na grywalizacji. Użytkownicy odkrywają i odwiedzają miejsca (Spoty), realizują kuratorowane trasy (Trails) oraz kolekcjonują cyfrowe karty generowane dynamicznie na podstawie ich aktywności. System obejmuje rozbudowany mechanizm nagród, który przyznaje karty według wielu reguł, kontekstu geograficznego oraz zachowania użytkownika. Platforma wspiera również treści tworzone przez użytkowników, umożliwiając społeczności dodawanie nowych Spotów i Tras, a także oferuje wbudowany system dyskusji do dzielenia się wskazówkami i zadawania pytań. Integruje logikę geolokalizacji, przetwarzanie w tle oraz dynamiczne generowanie obrazów, zapewniając płynne i angażujące doświadczenie. W rezultacie Explomania łączy zaawansowaną logikę backendową z interaktywnymi funkcjami frontendowymi, tworząc unikalny produkt w obszarze podróży.

Python Python Django Django JavaScript JavaScript PostgreSQL PostgreSQL Docker Docker Redis Redis nginx nginx Celery Celery DigitalOcean DigitalOcean GitHub GitHub
Explomania

Case studies techniczne

Przykłady logiki produktu, architektury backendu i szczegółów implementacji w tym projekcie.

System grywalizacji

Mechanizm przyznawania cyfrowych kart z dynamicznymi zasadami generowania

Problem

System nagród w Explomanii opiera się na wielu działaniach użytkownika, takich jak rejestracja, odwiedzanie Spotów, realizowanie Tras, zaproszenia oraz aktywność społeczności. Każde z tych zdarzeń wykorzystuje inne reguły, pule kart, ograniczenia rzadkości oraz zależności geograficzne. Dodatkowo obrazy kart są generowane dynamicznie na podstawie wielu pól, z obsługą wielu języków i różnych alfabetów.

Rozwiązanie

Zbudowaliśmy backendowy mechanizm nagród, który oblicza zestawy kart na podstawie dokładnego kontekstu aktywności użytkownika. Ciężkie operacje, takie jak przyznawanie nagród, renderowanie obrazów kart oraz wysyłka powiadomień, są wykonywane asynchronicznie w tle przy użyciu Celery. System łączy logikę opartą na regułach, przetwarzanie asynchroniczne oraz dynamiczne generowanie obrazów, tworząc fundament warstwy grywalizacji w aplikacji.

Stack
Django, PostgreSQL, Celery, Redis, Pillow, logika obsługi treści wielojęzycznych
Mechanizm przyznawania cyfrowych kart z dynamicznymi zasadami generowania
Treści tworzone przez użytkowników

Zaawansowane publiczne procesy tworzenia Spotów i Tras

Problem

Tworzenie Tras wymagało znacznie więcej niż standardowego formularza. Użytkownicy musieli budować trasy z wielu Spotów, w tym istniejących wpisów w bazie danych, a backend musiał zachować relacje, kolejność oraz dane pochodne na poziomie trasy.

Rozwiązanie

Zaimplementowalismy niestandardowe procesy dodawania treści przy użyciu Django i JavaScript, umożliwiające użytkownikom tworzenie Spotów oraz składanie Tras z powiązanych elementów. Backend oblicza atrybuty Tras na podstawie przypisanych Spotów oraz wspiera śledzenie postępu w realizacji tras.

Stack
Django, JavaScript, modelowanie danych relacyjnych, atrybuty pochodne, logika postępu
Zaawansowane publiczne procesy tworzenia Spotów i Tras
Funkcje społecznościowe

Dedykowany system dyskusji i moderacji dla Spotów i Tras

Problem

Platforma wymagała kontekstowych dyskusji powiązanych bezpośrednio z miejscami i trasami podróży, obejmujących wskazówki, pytania, odpowiedzi oraz zgłaszanie nadużyć. Standardowy system komentarzy był niewystarczający.

Rozwiązanie

Zbudowaliśmy dedykowany system dyskusji z obsługą różnych typów treści, odpowiedzi, moderacji oraz zgłoszeń, w pełni zintegrowany z profilami Spotów i Tras, bez korzystania z zewnętrznych narzędzi forumowych.

Stack
Django, PostgreSQL, niestandardowe relacje treści, odpowiedzi zagnieżdżone, procesy moderacji
Dedykowany system dyskusji i moderacji dla Spotów i Tras

Interfejs i widoki produktu

Wybrane ekrany

Potrzebujesz czegoś podobnego?

Porozmawiajmy o Twoim produkcie, procesie lub integracji

Tworzymy dedykowane produkty z realną logiką backendową, integracjami API, automatyzacją i gotowym do produkcji wdrożeniem. Jeśli Twój projekt wymaga czegoś więcej niż prosta strona — warto porozmawiać.