Mastodon

Strona Międzynarodowego Kongresu Górnictwa i Hutnictwa Miedzi.

Opublikowano August 27, 2026 | Autor: Krzysztof Palikowski

Firma: 1 os.

Skrót

W treści opisuję proces budowy niektórych rozwiązań na stronę zleconą przez klienta. Projekt realizowałem w pierwszej połowie 2025 roku. Z użytych narzędzi wyróżniłbym na pewno Lovable, Airtable, n8n, mkr.us oraz Windsurf (obecnie Devin) w którym budowałem dedykowany motyw i wtyczki na platformę WordPress.

Wstęp i kontekst

Stowarzyszenie, którego stronę obsługuję zleciło mi stworzenie dedykowanej podstrony w celu obsługi organizowanej co pięć lat konferencji. Strona jak strona, ale kilka wymagań było “podchwytliwych”:

  • rejestracja zgłoszeń prelekcji (każde zgłoszenie może mieć wielu autorów, załączniki) + możliwość łatwego przeglądania zgłoszeń przez zespół wybierający prelekcje i układający program,
  • rejestracja uczestników (z osobami towarzyszącymi) + wyliczanie kosztu biletu + obsługa płatności za konferencję z różnymi wariantami
  • możliwość łatwego zarządzania programem konferencji

Ponieważ czas naglił to z zakresu od razu wypadły (wstępnie przez klienta zapowiadane) płatności online – klient nie chciał “bawić się” w jakieś umowy z operatorami płatności i zdecydował, że wystarczy jak każdy potencjalny uczestnik dostanie na maila instrukcję płatniczą z numerem konta do przelewu.

Projekt strony głównej – Lovable

Jako narzędzie do przygotowania bazowego projektu strony wybrałem Lovable. W tym okresie nie było to najstabilniejsze narzędzie. Czasem generowało coś bardzo ładnego, czasem bardzo słabego.

Tym razem poszło całkiem sprawnie i szybko mogłem pokazać klientowi pierwszy projekt (link będzie działał tak długo, jak będzie dostępny na Lovable).

Nie był może szczególnie wyszukany, nosił też znamiona typowego AI slope’u, ale myślę, że nie wyszedł najgorzej. Klient też nie miał wygórowanych oczekiwań estetycznych, chciał stronę, która spełnia jego potrzeby. Wygląd nie był w top5 jego priorytetów.

Ponieważ terminy nas goniły a kwestia wyglądu była drugorzędna, to klient szybko zaakceptował projekt i czekał na dalsze prace.

Wersja docelowa – WordPress + dedykowany motyw

Jako bazową platformę wybrałem WordPress. Nie ma tu za wiele do opowiadania – po prostu czułem się wtedy najbezpieczniej z tym wyborem. Aby szybko zakodować motyw, wypchnąłem projekt z Lovable do Git, a następnie sklonowałem na swój komputer i zleciłem Windsurf, aby przygotował na podstawie tego typowy wordpressowy motyw. Zajęło jakieś 2-3 godzinki, zanim dogadałem się na tyle ze starym Claude Sonnet, bodajże 3.7, Aby motyw w miarę przypominał to, co zbudował Lovable.

Oczywiście trzeba było trochę popoprawiać treści i rozbudować to wszystko o podstronę, więc razem zajęło to kilka dni.

Formularze – Contact Form 7 i jego świta

Kolejnym wyzwaniem była budowa formularzy zgłoszeniowych i tutaj uznałem, że zobaczę, na ile uda mi się wykorzystać Contact Form 7. Jest to najpopularniejsza darmowa wtyczka do WordPressa pozwalająca budować formularze. Obrosła ona w wiele integracji i rozszerzeń, z których skorzystałem.

Powtarzalne pola i struktury

Prosty formularz kontaktowy nie jest żadnym wyzwaniem. Natomiast formularz, w którym jest struktura tabelaryczna zawierająca imię, nazwisko, tytuł naukowy, adres e-mail itd., zaczyna być problematyczna. Trzeba w jakiś sposób ją zamodelować i sprawić, aby formularz pozwalał tworzyć kolejne wiersze.

Domyślnie Contact Form nie ma tego w standardzie, ale na szczęście dobrzy ludzie przygotowali wtyczkę Contact Form 7 – Repeatable Fields, która rozwiązała większość wyzwań z tym związanych.

Definicja w edytorze CF7:

Wynik na stronie:

Pola warunkowe i zależne

Tutaj również z pomocą przychodzi wtyczka Conditional Fields for Contact Form 7, która dodaje do CF7 możliwość ukrywania pól, czy ustawiania ich wartości w zależności od innych pól. Dzięki temu bez problemu mogłem zrealizować takie proste wymagania, jak pokazanie pól NIP i mail do faktury, tylko jeśli wypełniający takiej faktury potrzebuje.

Zewnętrzny zapis danych – Webhook + N8N

Zdawać by się mogło, że dane, które klienci czy odwiedzający wpisują w formularze, wystarczy wysłać na mail albo zapisać w bazie danych WordPressa. W tym wypadku potrzebowaliśmy czegoś więcej.

Zgłoszenia referatów miały być na późniejszym etapie przeglądane przez Komisję w celu dokonania preselekcji. Dane uczestników miały być podstawą do rozliczeń, a także sprawdzania biletów na wejściu. Potrzebowaliśmy wysyłać dane z WordPressa do jakiegoś miejsca, z którego łatwo będzie później te dane wyciągnąć bądź je obrabiać.

Z pomocą przyszła tu kolejna wtyczka do WordPressa CF7 to Webhook. Pozwala ona wysłać dane z formularza na dowolny webhook. Przygotowałem więc w n8n (instancja zarządzana, uruchomiona na mikr.us) scenariusz, który oczekiwał na wywołanie webhooka i zapisywał przesłane Informacja do odpowiedniej struktury w bazie danych – hostowanej na własnym serwerze instancji Baserow.

Dzięki temu w każdym momencie można było łatwo zrobić raport z tego, ile jest złożonych propozycji prelekcji, kim są autorzy itd. Dane takie można było łatwo wyeksportować do Excela bądź pracować na nich, uzupełniając kolumny typu status bądź uwagi.

Powiadomienia mailowe

Do informowania potencjalnych prelegentów bądź uczestników o tym, czy ich prelekcja została wybrana, jak mają zapłacić, albo czy status ich zgłoszenia został zmieniony. Użyłem kolejnego scenariusza n8n, który na podstawie zmian w bazie danych reagował na różne sytuacje.

Dzięki temu można było wariantowo wysyłać różne treści maili, w zależności od tego, czy ktoś zaznaczył, że chce fakturę, czy też policzyć kwotę do wpłaty, w zależności od tego, jaki bilet został wybrany na formularzu rejestracyjnym.

Zabezpieczenie przed botami i spamem

Tutaj eksperymentowaliśmy z różnymi rozwiązaniami i ostatecznie skończyło się na Cloudflare Turnstile. Nie odsiało to wszystkich botów i spamerów, ale działało znacznie lepiej niż gotowe wtyczki do WordPressa czy reCAPTCHA.

Harmonogram konferencji – dedykowana wtyczka do WordPress z możliwością importu z csv

Kiedy klient miał już gotowy harmonogram konferencji, a przynajmniej jego wstępną wersję, sprawy nabrały tempa. Trzeba było szybko przygotować rozwiązanie, które pozwalałoby wielokrotnie importować plik Excelowy do określonej struktury wyświetlanej potem na stronie.

Dlaczego wielokrotnie? Bo konferencje mają to do siebie, że do ostatniej chwili zmienia się ich program. Zamiany sal, dni, godzin, poprawki w nazwiskach i stopniach naukowych prelegentów itd.

Z pomocą znowu przyszedł Windsurf, z którym przygotowałem wtyczkę robiącą dokładnie to, co było nam potrzebne. Po pierwsze, moduł administracyjny pozwalający importować pliki Excelowe. Po drugie, moduł prezentacyjny wyświetlający listę prelekcji, salę, prelegentów, godziny, dni itd., a także odpowiednie filtry pozwalające szybko wyszukać bądź zawęzić listę referatów.

Pod względem wizualnym nie poraża, ale swoją funkcję spełniło.

Czas pracy

Gdybym dzisiaj wyceniał taki projekt, wiedząc to, co wiem (po projekcie), i dysponując narzędziami, jakimi dysponuję, byłaby to wycena na poziomie około 40-50 godzin pracy. Pod koniec 2024 roku negocjacje zacząłem od poziomu 100-110 godzin. Skąd taka różnica? O tym w podsumowaniu.

Podsumowanie

Z perspektywy czasu myślę, że wiele rzeczy dzisiaj zrobiłbym jeszcze szybciej i jeszcze lepiej. Duże modele językowe poczyniły tak ogromne postępy, że taki projekt zamknąłby się w co najwyżej połowie czasu, jaki poświęciłem rok temu. Wtedy modele bardzo często generowały błędny kod, który trzeba było poprawiać. Zdarzały się też luki logiczne, prowadzące do dziwnych albo śmiesznych efektów. Praca z nimi bardzo często polegała na wielu iteracjach i punktowym pokazywaniu, gdzie może leżeć błąd.

Dzisiaj taki motyw i wtyczki, a także wszelkie formularze pisałbym od razu w jednym projekcie przechowującym konfigurację WordPressa. Motyw. Użyłbym też pewnie Bedrock, ponieważ taki projekt (całe repozytorium, czyli WordPress, motywy, wtyczki i konfiguracja, jest trzymana w git) świetnie się sprawdza w pracy nad takimi wyspowymi rozwiązaniami.

Jeśli podczas lektury nasunęły się Tobie jakieś pytania lub wątpliwości – znajdź mnie na profilach społecznościowych lub napisz tutaj. Chętnie uzupełnię ten artykuł i uwzględnię uwagi w kolejnych.

Jeśli takie materiały są dla Ciebie cenne – nie czekaj. Daj o tym znać w prywatnej wiadomości, udostępnij ten tekst gdzieś w swoich kręgach lub w dowolny sposób mnie wesprzyj – każdy taki sygnał motywuje do dalszej pracy i naprawdę pomaga.

Wybrane narzędzia

Lovable

Twórz aplikacje, strony internetowe i produkty cyfrowe szybciej dzięki platformie Lovable opartej na sztucznej inteligencji i nie wymagającej programowania – nie potrzebujesz do tego zaawansowanej wiedzy z zakresu kodowania.

Zobacz narzędzie →

baserow.io

Platforma do zespołowej pracy na danych

Zobacz narzędzie →

Windsurf

Windsurf to najbardziej zaawansowany na świecie asystent programistyczny oparty na sztucznej inteligencji, przeznaczony dla programistów i przedsiębiorstw. Windsurf Editor — pierwsze środowisko IDE oparte na sztucznej inteligencji, które pozwala programistom pracować bez zakłóceń.

Zobacz narzędzie →

n8n

n8n to platforma do automatyzacji przepływu pracy, która w wyjątkowy sposób łączy możliwości sztucznej inteligencji z automatyzacją procesów biznesowych, zapewniając zespołom technicznym elastyczność rozwiązań programistycznych oraz szybkość rozwiązań bezkodowych.

Zobacz narzędzie →

mikr.us

Mikrus to niezwykle przystępny cenowo polski serwer VPS, stworzony z myślą o pasjonatach IT i deweloperach. To idealne rozwiązanie wspierające optymalizację kosztów poprzez wybór elastycznych narzędzi i zastępowanie komercyjnych usług znacznie tańszymi zamiennikami

Zobacz narzędzie →

Devin (dawniej Windsurf)

Devin to zaawansowane środowisko programistyczne (IDE) wspierane sztuczną inteligencją, które powstało w wyniku przejęcia i zintegrowania popularnego edytora Windsurf. To potężne rozwiązanie wpisuje się w potrzebę poznawania nowych, efektywnych metod pracy, pozwalając na błyskawiczne tworzenie oprogramowania i automatyzację powtarzalnych zadań programistycznych

Zobacz narzędzie →

Dodaj komentarz

Dołącz do społeczności narzedzia.it

Po starcie portalu otrzymasz możliwość współtworzenia katalogu i otrzymywania powiadomień w ulubionych kategoriach - rankingi, porady, case studies - prosto do Twojej skrzynki. Regulamin dostępny tutaj.

Dołącz do społeczności narzedzia.it

Wystarczy założyć konto na platformie, aby móc zaznaczać narzędzia, których używasz, oraz korzystać z tej i wielu innych funkcji!

Załóż bezpłatne konto