<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Brevo on Benedykt Huszcza | Blog</title><link>https://blog.huszcza.dev/pl/tags/brevo/</link><description>Recent content in Brevo on Benedykt Huszcza | Blog</description><generator>Hugo -- gohugo.io</generator><language>pl</language><lastBuildDate>Sun, 23 Feb 2025 17:00:00 +0000</lastBuildDate><atom:link href="https://blog.huszcza.dev/pl/tags/brevo/index.xml" rel="self" type="application/rss+xml"/><item><title>SpeedDatingMatcher – Event Management z Django i Next.js</title><link>https://blog.huszcza.dev/pl/p/speeddating-matcher/</link><pubDate>Sun, 23 Feb 2025 17:00:00 +0000</pubDate><guid>https://blog.huszcza.dev/pl/p/speeddating-matcher/</guid><description>&lt;img src="https://blog.huszcza.dev/p/speeddating-matcher/cover.png" alt="Featured image of post SpeedDatingMatcher – Event Management z Django i Next.js" />&lt;h2 id="skąd-wziął-się-pomysł">Skąd wziął się pomysł?
&lt;/h2>&lt;p>Pomysł na &lt;strong>SpeedDatingMatcher&lt;/strong> zrodził się dzięki mojej siostrze Róży, która studiuje na Uniwersytecie Medycznym w Białymstoku. Co więcej, nie tylko studiuje – prowadzi również uczelniane pismo – &lt;a class="link" href="https://www.instagram.com/mlodymedyk_/" target="_blank" rel="noopener"
>Młody Medyk&lt;/a>. Od dwóch lat jej organizacja studencka organizuje eventy speed datingowe. No i tutaj pojawił się problem – według relacji Róży nic nie okazuje się bardziej żmudne, okropne i jest bólem nie do zniesienia jak sprawdzenie preferencji kontaktu uczestników oraz wysyłanie do nich maili z informacją zwrotną. Jeśli dobrze pamiętam to podczas wypowiadania tych słów, uroniła nawet nie jedną, a dwie łzy, ale takie krokodyle nawyki nabyła już w dzieciństwie. Mimo wszystko jako brat-deweloper postanowiłem jej pomóc i wziąłem sprawy w swoje ręce.&lt;/p>
&lt;h2 id="czym-jest-speeddatingmatcher">Czym jest SpeedDatingMatcher?
&lt;/h2>&lt;p>&lt;strong>SpeedDatingMatcher&lt;/strong> to system do zarządzania wydarzeniami speed datingowymi. Obsługuje rejestrację uczestników, dopasowywanie preferencji (kto chce się skontaktować z kim) oraz wysyłanie maili z kontaktami dzięki integracji z &lt;strong>Brevo&lt;/strong>. Pierwsza wersja została wdrożona na &lt;strong>Microsoft Azure&lt;/strong>, ale nie będę ukrywał – brak doświadczenia z SSR dał mi w kość. Skończyło się to większą frustracją, niż się spodziewałem, ale ostatecznie udało mi się aplikację uruchomić.&lt;/p>
&lt;p>W tegorocznej edycji (2025) postanowiłem podejść do tematu bardziej rozsądnie – nie tylko ze względu na moje doświadczenie z Azure, a również to finansowe, bo pakiet edukacyjnych stu dolarów całkowicie wykorzystałem na poprzednią edycję. Finalnie postawiłem na &lt;strong>VPS&lt;/strong> z wykorzystaniem &lt;strong>Dockera&lt;/strong> i &lt;strong>nginx&lt;/strong>. Miałem też do dyspozycji serwer &lt;strong>AWS EC2 Free Tier&lt;/strong>, ale wiedziałem, że wkrótce będę potrzebował serwera do tego bloga, więc od razu zdecydowałem się na VPS.&lt;/p>
&lt;h2 id="jak-to-działa">Jak to działa?
&lt;/h2>&lt;p>Głównym celem aplikacji nie jest tylko wysyłanie maili, ale &lt;strong>automatyczne dopasowywanie uczestników&lt;/strong> wydarzenia. Jak to działa?
Jeśli uczestnik z numerem 3 chce skontaktować się z numerem 2 oraz 1, muszę sprawdzić, czy zarówno numer 2, jak i 1 również chcą kontaktu z numerem 3. Dopiero wtedy, gdy jest &lt;strong>wzajemna chęć kontaktu&lt;/strong>, wysyłamy maila. Sytuację obrazuje poniższa grafika:&lt;/p>
&lt;p>&lt;img src="https://blog.huszcza.dev/p/speeddating-matcher/persons_preferences.png"
width="365"
height="262"
srcset="https://blog.huszcza.dev/p/speeddating-matcher/persons_preferences_hu54643acddc985cee68ba355411069e18_10118_480x0_resize_box_3.png 480w, https://blog.huszcza.dev/p/speeddating-matcher/persons_preferences_hu54643acddc985cee68ba355411069e18_10118_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="Graf przedstawiający dopasowanie preferencji"
class="gallery-image"
data-flex-grow="139"
data-flex-basis="334px"
>&lt;/p>
&lt;p>Aplikacja oferuje m.in.:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Zarządzanie wydarzeniami randkowymi&lt;/strong> – Kompleksowe zarządzanie uczestnikami i spotkaniami.&lt;/li>
&lt;li>&lt;strong>Walidacja emaili&lt;/strong> – Sprawdzanie poprawności podanych adresów email.&lt;/li>
&lt;li>&lt;strong>Integracja z Brevo&lt;/strong> – Automatyczne powiadomienia i przypomnienia dla uczestników.&lt;/li>
&lt;/ul>
&lt;p>Dzięki wykorzystaniu &lt;strong>Django&lt;/strong>, mogę łatwo zarządzać użytkownikami i ich danymi.&lt;/p>
&lt;h2 id="stack-technologiczny">Stack technologiczny
&lt;/h2>&lt;ul>
&lt;li>&lt;strong>Django&lt;/strong> – Backend i zarządzanie bazą danych.&lt;/li>
&lt;li>&lt;strong>Next.js&lt;/strong> – Szybki frontend z renderowaniem po stronie serwera.&lt;/li>
&lt;li>&lt;strong>Brevo&lt;/strong> – Integracja do wysyłania e-maili.&lt;/li>
&lt;li>&lt;strong>BeautifulSoup4&lt;/strong> – Dynamiczna modyfikacja szablonów HTML w mailach.&lt;/li>
&lt;li>&lt;strong>Microsoft Azure&lt;/strong> – Hosting aplikacji w chmurze (pierwsza wersja).&lt;/li>
&lt;li>&lt;strong>Docker&lt;/strong> – Konteneryzacja aplikacji.&lt;/li>
&lt;li>&lt;strong>Nginx&lt;/strong> – Reverse proxy na serwerze VPS.&lt;/li>
&lt;/ul>
&lt;h2 id="czego-się-nauczyłem-i-co-dalej">Czego się nauczyłem i co dalej?
&lt;/h2>&lt;p>Szczerze mówiąc, był to &lt;strong>pierwszy poważniejszy projekt&lt;/strong>, który zrealizowałem poza pracą. Gdybym powiedział, że planowanie architektury, dobór technologii oraz pisanie kodu nie sprawiło mi ogromnej frajdy, to bym skłamał. Ten projekt naprawdę rozbudził moją deweloperską pasję.&lt;/p>
&lt;p>Mogłem &lt;strong>przetestować swoje pomysły&lt;/strong>, a przy okazji &lt;strong>nauczyć się dużo o SSR, Django i Azure&lt;/strong>. Nie było łatwo, ale każde wyzwanie było nową lekcją.&lt;/p>
&lt;p>Projekt współtworzyłem z &lt;a class="link" href="https://www.linkedin.com/in/maciej-korsakowski-a65b0226a/" target="_blank" rel="noopener"
>Maćkiem&lt;/a>, co pozwoliło mi zdobyć cenne doświadczenie w &lt;strong>zarządzaniu zadaniami&lt;/strong>, &lt;strong>współpracy zespołowej&lt;/strong> oraz &lt;strong>Code Review&lt;/strong>.&lt;/p>
&lt;p>Chcesz dowiedzieć się więcej? Sprawdź &lt;strong>repozytorium na &lt;a class="link" href="https://github.com/benhus8/SpeedDatingMatcher" target="_blank" rel="noopener"
>GitHubie&lt;/a>&lt;/strong>.&lt;/p></description></item></channel></rss>