Skip to content
Wróć do projektów
Strona internetowaPraca dla klienta

Kształcenie Słuchu eBook Store

Sklep, który sprzedaje i dostarcza e-book o teorii muzyki bezpośrednio, bez żadnego pośrednika.

Rok
2026
Status
Online
Rola
Solo: projekt, front end, back end, wdrożenie.
Kształcenie Słuchu eBook Store

Danuta Kaszuba napisała liczącą 404 strony książkę „Kształcenie słuchu z elementami teorii muzyki” i chciała sprzedawać ją sama, a nie przez platformę sprzedażową. Można do niej zajrzeć, kupić ją i pobrać PDF. Zamówienia obsługuje się z prywatnego panelu, więc cały proces jest w jednym miejscu.

Technologie

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • SQLite
  • Nodemailer
  • Playwright
  • Docker
  • Traefik
  • Cloudflare Tunnel
  • Proxmox

Zastosowanie

  • Interaktywne pianino, na którym można grać myszką albo klawiaturą komputera, oraz czytnik z 20 stronami próbnymi i pełnym spisem treści, żeby dało się ocenić książkę przed zakupem.
  • Zamówienie jako gość albo z kontem, płatność przelewem lub BLIKIEM na numer telefonu, a instrukcja płatności wysyłana automatycznie mailem.
  • Prywatny panel administracyjny do potwierdzania wpłat i wysyłania e-booka. Przycisk wysyłki pozostaje zablokowany, dopóki nie minie wymagany prawem czas oczekiwania.
  • PDF trafia do kupującego przez jednorazowy link do pobrania ważny 7 dni i zostaje dostępny w bibliotece na jego koncie.
  • Konta klientów z weryfikacją adresu e-mail, resetem hasła, eksportem danych i usuwaniem konta.
  • Regulamin i polityka prywatności wbudowane w zamówienie. Strona zapisuje, którą wersję zaakceptował każdy klient i czy zgodził się na wcześniejsze dostarczenie.
  • Książka sprzedawana jest bezpośrednio, bez prowizji operatora płatności i bez marży platformy. Strona nie używa analityki ani cookies firm trzecich, więc nie ma banera ze zgodą na cookies.
  • Jasny i ciemny motyw, formularz kontaktowy i układ, który działa na telefonie.

Jak jest zrobione

  • Next.js 16 na App Routerze z React 19 i TypeScript, ostylowany w Tailwind 4.
  • Zamówienia, konta i zapisy o dostawach siedzą w SQLite (wbudowany node:sqlite) na trwałym wolumenie Dockera. Przy jednej książce i niewielkiej liczbie zamówień pojedynczy plik wystarcza i nie trzeba pilnować serwera bazy danych.
  • PDF leży poza folderem publicznym, więc da się do niego dotrzeć tylko przez link do pobrania wydany przez aplikację. Takie tokeny są jednorazowe i wygasają po 7 dniach.
  • Tokeny pobierania i hasła są zapisywane wyłącznie jako skróty. Wyciek bazy nie ujawnia więc ani działających linków, ani haseł.
  • Płatność to przelew lub BLIK na numer telefonu, a nie bramka kartowa. To właśnie znosi prowizje operatora, i dlatego potwierdzenie wpłaty jest krokiem ręcznym w panelu, a mail wysyła Nodemailer.
  • Polskie prawo konsumenckie dotyczące treści cyfrowych ukształtowało proces zamówienia. Prawo odstąpienia jest obsłużone w kodzie: przycisk wysyłki jest zablokowany na czas oczekiwania, a każde zamówienie zapisuje zaakceptowaną wersję regulaminu i informację, czy klient zgodził się na wcześniejsze dostarczenie.
  • Aplikacja działa jako samodzielny obraz Dockera na własnym serwerze Proxmox, za Traefikiem i tunelem Cloudflare, a wdrażam ją przez Prox Hub, panel wdrożeniowy, który sam zbudowałem.
  • Testy przeglądarkowe w Playwright obejmują konta, zamówienia i dostawę, czyli miejsca, w których regresja oznaczałaby klienta, który zapłacił i nic nie dostał.

Sekcja hero

Podstrony

Konto

Zamówienie

Panel administratora

Tryb ciemny

Zbudujmy coś razem

Masz coś w głowie? Nawet pół pomysłu wystarczy, żeby zacząć rozmowę. Na każdą wiadomość odpowiadam, nawet jeśli odpowiedź brzmi, że ktoś inny lepiej się do tego nadaje.

Odpowiedź w ciągu 24 godzin, ze wstępną wyceną i pomysłem na realizację.

Mieszkam w Belgii, pracuję zdalnie z klientami po polsku i po angielsku.