Kwiaciarnia Joanna — kwiaciarnia z przypomnieniami o okazjach
Kwiaciarnia Joanna to strona i aplikacja dla lokalnej kwiaciarni z Przasnysza. Klienci zakładają konto, zapisują urodziny, rocznice i imieniny bliskich, a system z wyprzedzeniem przypomina im mailem o kwiatach. Właścicielka prowadzi całość z własnego panelu: zamówienia, ofertę, zdjęcia i treści strony.

Wyzwanie
Lokalna kwiaciarnia konkurowała wyłącznie ceną i Google Maps — nie miała narzędzia, które wiązałoby klienta na dłużej ani powodu, by wracał poza spontanicznym zakupem.
Rozwiązanie
Zaprojektowałem i zakodowałem od zera stronę w Next.js z autorską funkcją zapisu ważnych dat: klient zapisuje urodziny, rocznice i imieniny, a system z wyprzedzeniem wysyła mailowe przypomnienia (autorski mailing, bez abonamentów). Do tego prezentacja oferty, dekoracje okolicznościowe, panel admina i lokalne SEO.
Jak to robiliśmy
- 01
Od makiety do pełnego stacku
Najpierw zbudowałem kompletny interfejs — landing, strefę klienta i panel — żeby przejść przez wszystkie ekrany, zanim podepnę dane. Potem podłączyłem PostgreSQL przez Drizzle i własną autoryzację (JWT w ciasteczku httpOnly, hasła w bcrypt, role klient/administrator), bez zewnętrznych usług na abonament.
- 02
Przypomnienia, które wracają co roku
Sercem projektu jest zapis ważnych dat. Urodziny i imieniny domyślnie powtarzają się co roku: aplikacja liczy najbliższe wystąpienie, a znacznik „przypomniane” wygasa z każdym cyklem, więc nikt nie musi ich wpisywać ponownie. Maile wychodzą z zaplanowanego zadania, a przycisk „Zamów kwiaty” w wiadomości prowadzi prosto do zamówienia — także po zalogowaniu.
- 03
Panel, w którym właścicielka zmienia wszystko sama
Praktycznie cały landing jest edytowalny: teksty, godziny, kontakt, kafelki oferty, bukiety i zdjęcia. Zdjęcia z telefonu zmniejszam w przeglądarce przed wysyłką, a że pionowe kadry w poziomych kafelkach ucinały głowy, dodałem punkt ostrości — właścicielka klika, co ma zostać w kadrze. Zamówienia przechodzą przez statusy aż do „Do odbioru”, który wysyła klientowi maila z adresem i godzinami.
- 04
Marka z oryginalnego logo
Zamiast przerysowywać logo na oko, emblemat powstał z obrysu oryginalnego pliku klientki, a czerwień marki wziąłem prosto z tego pliku. Nazwę złożyłem w Libre Baskerville, którą wybrała właścicielka, i dopilnowałem, żeby na najwęższych telefonach mieściła się obok przycisku menu.
- 05
Lokalne SEO i analityka za zgodą
Strona ma mapę witryny, adresy kanoniczne i dane strukturalne typu Florist z lokalizacją, telefonem i powiązaniem z wizytówką Google. Google Analytics ładuje się dopiero po kliknięciu „Akceptuję” — bez zgody nie idzie żadne zapytanie do Google. Kluczowe ścieżki pilnują testy E2E w Playwright, uruchamiane w szerokości telefonu i desktopu.
Co wyróżnia ten projekt
Zapis ważnych dat z mailowymi przypomnieniami
Klient zapisuje okazje i sam wybiera, ile dni wcześniej chce dostać przypomnienie. Daty cykliczne odnawiają się automatycznie co rok.
Kwiatomat czynny non stop
Osobny, ciemny pas strony z neonową, pulsującą plakietką pokazuje automat z kwiatami działający poza godzinami sklepu — z nawigacją do miejsca i telefonem.
Zamówienia ze statusami i licznikami
Ścieżka Nowe → W realizacji → Do odbioru → Odebrane, mail o gotowości do odbioru i liczniki nowych spraw w menu panelu, żeby nic nie umknęło.
Punkt ostrości kadru
Właścicielka wskazuje klikiem najważniejszą część zdjęcia, a podgląd ma proporcje miejsca docelowego — kadr nie ucina bukietu ani twarzy.
Widoki i elementy
Kwiaciarnia zyskała powód do powrotu klienta i kanał kontaktu (lista dat + mailing), a nie tylko wizytówkę — narzędzie, które samo przypomina o kolejnym zakupie.
Zacznijmy Twój projekt.
Opisz w kilku zdaniach, czego potrzebujesz — odezwę się z konkretnymi pytaniami i propozycją kolejnych kroków. Bez zobowiązań.