← Nazaj na blog

Sunny Side Cycling — celostna platforma

sunnysidecycling.com je produkcijska spletna platforma, ki smo jo zasnovali in razvili od začetka za podjetje za kolesarske ture v Posočju, Slovenija. Pokriva vse od javne marketinške strani do zalednega upravljanja rezervacij, procesiranja plačil in davčne skladnosti z FURS.

Pregled arhitekture

Sistem sestavlja več Docker vsebnikov za Traefik povratnim posrednikom z avtomatskim Let's Encrypt TLS:

  • Flask frontend — strežniško upodobljena marketinška stran z Jinja2 predlogami, dvojezično vsebino (EN/SI), odzivnim dizajnom in lenimi slikami
  • FastAPI backend — RESTful API za administracijsko ploščo, upravljanje inventarja koles, koledar rezervacij, blog CMS in upravljanje tur
  • PostgreSQL — relacijska baza podatkov za izdelke, rezervacije, stranke in zapise transakcij
  • Fiskalna storitev — izolirana mikrostoritev za FURS fiskalizacijo (digitalno podpisovanje računov, EOR/ZOI kode, produkcijska potrdila)
  • Traefik — robni usmerjevalnik z avtomatskim HTTPS, kompresijskim vmesnikom in usmerjanjem po storitvah

Zmogljivost & SEO

Javna spletna stran dosledno dosega 90+ v vseh štirih Google Lighthouse kategorijah (zmogljivost, dostopnost, najboljše prakse, SEO) in dosega 100/100 Ahrefs oceno zdravja strani. Ključne optimizacije vključujejo:

  • Strežniško upodabljanje z minimalnim JavaScriptom — brez SPA obremenitve
  • Optimiziran cevovod slik z WebP pretvorbo in odzivnimi <picture> elementi
  • Vključevanje kritičnega CSS, odloženo nalaganje pisav
  • Pravilna semantična HTML struktura, strukturirani podatki (JSON-LD), kanonični URL-ji in dinamični zemljevid strani
  • Gzip/Brotli kompresija preko Traefik vmesnika
  • Nič napak pri indeksiranju, potrjeno z Ahrefs Site Audit

Sistem rezervacij

Zaledni sistem upravlja celoten življenjski cikel najema:

  • Spletni najem koles — stranke brskajo po razpoložljivih kolesih, izberejo datume in rezervirajo prek spleta
  • Administracijska plošča — JWT-avtentificirana plošča za upravljanje inventarja, ogled/urejanje rezervacij in sledenje razpoložljivosti na vizualnem koledarju
  • Stripe integracija — varno procesiranje plačil z webhook obravnavo za potrditev plačila
  • E-poštna obvestila — avtomatizirana potrditvena in opominska e-pošta preko SMTP

FURS davčna skladnost

Slovenska davčna zakonodaja zahteva elektronsko fiskalizacijo računov. Razvili smo namensko mikrostoritev, ki:

  • Digitalno podpiše vsak račun z FURS-ovim P12 potrdilom
  • Komunicira s FURS SOAP API za pridobitev unikatnega EOR identifikatorja
  • Generira ZOI (zaščitno oznako) kode za preverjanje računov
  • Podpira tako testno kot produkcijsko FURS okolje
  • Obravnava oprostitve po 94. členu ZDDV-1, ko je nastavljeno

Blog & upravljanje vsebin

Administracijska plošča vključuje poln blog CMS z:

  • Urejanje obogatenega besedila z nalaganjem slik
  • Dvojezično upravljanje objav (angleščina in slovenščina)
  • SEO metapodatkovna polja, samodejno generirane naslove URL in Open Graph oznake
  • Delovni tok osnutek/objavljeno

Postavitev & infrastruktura

Celoten sklad teče na Docker Compose z ločenima produkcijskim in razvojnim okoljem za hitro, zanesljivo postavitev in varno razvojno iteracijo:

  • Produkcijsko & razvojno okolje — zrcaljena Docker Compose sklada omogočata testiranje sprememb na razvojni instanci pred prenosom v produkcijo, kar zagotavlja nič presenečenj na živi strani
  • Večmrežna Docker postavitev — javne storitve na Traefik proxy omrežju, baza podatkov in fiskalna storitev na internem omrežju
  • Zdravstveni pregledi — vsaka storitev ima zdravstvene preglede na ravni vsebnika s pravilnimi začetnimi obdobji in logiko ponovnih poskusov
  • Pritrjeni volumni — PostgreSQL podatki, varnostne kopije in naložena sredstva preživijo ponovne gradnje vsebnikov
  • Postavitve brez izpadov — tekoče ponovne gradnje z docker compose up -d --build

Poštni strežnik

Postavili smo namenski Mailu poštni strežnik s polnim SSL/TLS šifriranjem za obravnavo vseh transakcijskih in obvestilnih e-poštnih sporočil platforme:

  • E-pošta na lastni domeni (info@sunnysidecycling.com) s pravilnimi SPF, DKIM in DMARC zapisi
  • SSL potrdila upravljana skupaj z ostalo infrastrukturo preko Let's Encrypt
  • SMTP integracija tako s Flask frontendom kot FastAPI backendom za potrditve rezervacij, opomnike in administratorska obvestila
  • Spletni dostop do e-pošte za poslovno ekipo

Povzetek tehnološkega sklada

FrontendFlask, Jinja2, vanilla JS, CSS
Backend APIFastAPI, SQLAlchemy, Pydantic
Baza podatkovPostgreSQL 15
PlačilaStripe API
FiskalizacijaLastna FURS mikrostoritev (Python, SOAP, P12 potrdila)
InfrastrukturaDocker Compose, Traefik, Let's Encrypt
PoštaMailu (SSL, SPF, DKIM, DMARC)
OkoljaProdukcija + razvoj (zrcaljena sklada)
JezikiEN / SI (Jinja2 i18n)

Obiščite živo stran: sunnysidecycling.com