gdzieposztuke.pl · Projekt własny · 2026

gdzieposztuke.pl — wydarzenia kulturalne na mapie

Serwis, który zbiera wernisaże, wystawy i koncerty ze stron galerii, muzeów i teatrów i pokazuje je na mapie, najbliższe pierwsze.

Odwiedź stronę
gdzieposztuke.pl — wydarzenia kulturalne na mapie
Klient
gdzieposztuke.pl
Rodzaj
Projekt własny
Rok
2026
Stack
Nuxt · NestJS · Prisma · PostgreSQL · Leaflet · Three.js

Wyniki

Rodzajów wydarzeń — od wernisaży po warsztaty
8
Program każdego źródła zbierany na nowo, bez ręcznej pracy
co 6 h

01

Wyzwanie

Program galerii, muzeów, teatrów i filharmonii jest rozrzucony po dziesiątkach stron, każda z własnym kalendarzem.

Więcej

Kto chce sprawdzić, co dzieje się dziś kilka ulic dalej, musi przejść je po kolei. Serwis miał zebrać to w jednym miejscu, bez ręcznego przepisywania programów.

02

Rozwiązanie

Zbudowaliśmy agregator, który co kilka godzin czyta dane o wydarzeniach publikowane przez instytucje dla wyszukiwarek i kanały kalendarzy, rozpoznaje rodzaj wydarzenia, usuwa duplikaty i ustala adres na mapie.

Więcej

Odwiedzający wybiera, jak daleko chce pojechać i kiedy ma czas, a resztę widzi na liście i na mapie.

Kluczowe funkcje

  1. Zbieranie wydarzeń z danych schema.org (JSON-LD) i kanałów iCalendar
  2. Klasyfikacja w osiem rodzajów, deduplikacja między źródłami, geokodowanie
  3. Lista i mapa według odległości od użytkownika (Leaflet, OpenStreetMap)
  4. Strony miast i rodzajów pod wyszukiwarkę, generowane z danych
  5. Kalendarze do subskrypcji i newsletter „Weekend w mieście”
  6. Panel redakcji z kontami, zgłoszeniami od odwiedzających i historią zmian
Cała historia projektu

Punkt wyjścia

Informacja o wernisażu czy koncercie zwykle istnieje tylko na stronie miejsca, które go organizuje. Żeby zobaczyć, co dzieje się w okolicy, trzeba znać te miejsca i odwiedzić każde z osobna.

Większość instytucji publikuje jednak swój program w formie, którą czytają wyszukiwarki. Na tym oparliśmy cały serwis.

Co zrobiliśmy

Serwis od zera: API w NestJS z bazą PostgreSQL i frontend w Nuxt renderowany po stronie serwera. Źródła to strony z danymi schema.org Event albo kanały iCalendar. Co sześć godzin konektory zbierają z nich wydarzenia, klasyfikator przypisuje rodzaj, a geokoder ustala współrzędne miejsca. To samo wydarzenie z dwóch źródeł zapisuje się raz.

Lokalizacja odwiedzającego trafia do cookie, więc serwer od razu renderuje wydarzenia w pobliżu. Filtry siedzą w adresie, więc wynik można komuś wysłać. Każde miasto i każdy rodzaj wydarzenia ma własną stronę pod wyszukiwarkę, a każde wydarzenie dane strukturalne Event.

Kategorie mają swoje kolory w postaci szklanych kul renderowanych w WebGL. Jeden wspólny kontekst rysuje wszystkie, animują się tylko te widoczne, a przy prefers-reduced-motion i bez WebGL zostaje gradient CSS.

Redakcja pracuje w panelu: dodaje źródła z podglądem tego, co serwis z nich odczyta, poprawia wydarzenia (poprawki przetrwają kolejne zbieranie) i zatwierdza zgłoszenia od odwiedzających. Każda zmiana trafia do historii z wartościami przed i po.

Masz pomysł? Porozmawiajmy.

Pierwsza rozmowa jest bezpłatna. Odpowiadamy w jeden dzień roboczy.