Esettanulmány Autóipar

Egy autókereskedés platformja újraépítve Rustban, egyetlen URL, autó vagy belépés elvesztése nélkül

A G8 Motor, egy portugáliai autókereskedés, a készletoldalát és a háttérirodáját egy 2018-as Rails 6.1 alkalmazáson futtatta. Átírtuk Rustra ugyanazon az adatbázison és ugyanazokon a fotókon, így a munkatársak megtartották a belépéseiket, majd a nyilvános oldal új dizájnt, 3D-s bemutatótermet és a keresőmotorokra és az AI-asszisztensekre szabott SEO-t kapott.

Ügyfél
G8 Motor
Platform
Weboldal és háttériroda
Iparág
Autóipar
Indulás
2026

A kihívás

A régi alkalmazás még működött, de egy elöregedett Rails 6.1-en futott, egyetlen kiszolgálón osztozott az adatbázisával, és olyan hibákat hordozott, amelyek érdeklődőkbe kerültek a kereskedőnek: a nyilvános keresőszűrők soha nem működtek, a telefonos fotók pedig elfordítva jelenhettek meg.

Előtte: Rails 6.1 és Ruby 3.1 egyetlen kiszolgálón, az alkalmazás és az adatbázis együtt
Utána: Egyetlen Rust-bináris egy kis konténerben, Kubernetesen, menedzselt PostgreSQL 18-cal és olvasási replikákkal
Előtte: Nyilvános keresőszűrők, amelyek soha nem működtek
Utána: Keresőszűrők, amelyek működnek
Előtte: Duplikált címek, amelyek rossz autót nyitottak meg
Utána: Egyedi címek, adatmigrációval kijavítva és az adatbázis által kikényszerítve
Előtte: Telefonos fotók, amelyek elfordítva jelenhettek meg, megőrzött GPS-helyadatokkal
Utána: Helyesen elfordított, átméretezett és a metaadatoktól megtisztított fotók, még a közzététel előtt
Előtte: Kapcsolatfelvételi űrlap, amely elhasalt, valahányszor az e-mail-szolgáltató is
Utána: Háttérben küldött üzenetek az Amazon SES-en keresztül, Cloudflare Turnstile-lal a spam ellen

Amit fejlesztettünk

Teljes átírás, amely megtartott mindent, amire a cég támaszkodott, majd egy új nyilvános oldal. Rustban, axummal és PostgreSQL-lel épült, és Kubernetesen fut.

Ugyanazok az URL-ek, adatok és belépések

Az új alkalmazás ugyanazt az adatbázist, ugyanazt a fotótárolót és ugyanazokat a jelszókivonatokat olvassa, így a linkek, a készlet és a munkatársak fiókjai változatlanul átkerültek.

Modern nyilvános oldal

Gyors, elsősorban mobilra tervezett készletoldal WhatsApp-gombbal, amelyet akkor újítottunk meg, amikor az átírás már élesben futott.

Virtuális 3D-s bemutatóterem

Egy three.js-stand, ahol a látogatók körülnézhetnek az autók, a márkák és az elérhetőségek között, és amely csak akkor töltődik le, ha egy látogató megnyitja.

Láthatóság a keresőkben és az AI-ban

Metacímkék, JSON-LD, webhelytérkép, GYIK és llms.txt az élő készletből előállítva, így a keresőmotorok és az AI-asszisztensek le tudják írni a kereskedést és az autóit.

Fotók egyenesen a telefonról

A háttériroda javítja a tájolást, 1920 px-re méretezi, eltávolítja a GPS- és egyéb metaadatokat, és egyszerre egy fotót dolgoz fel, így a munkatársaknak elég egy telefonkamera.

Adatvédelem és biztonság

Adatvédelmi és felhasználási oldalak a cég jogi adataival, analitika csak a sütik elfogadása után, Turnstile a nyilvános űrlapokon és a belépésnél, és DKIM-mel, SPF-fel és DMARC-kal aláírt e-mail.

Mérnöki eredmények

A kódban összeszámolva 2026 szeptemberében; a memóriát éles üzemben mértük 2026 októberében.

78
Automatikus teszt fut minden változtatáskor
11
Kijavított hiba a régi alkalmazásból
5
Nap az átírástól az új nyilvános oldalig
~17 MB
Nyugalmi memóriahasználat
  • A visszaállítás egy DNS-módosítás volt, miközben a régi kiszolgáló elérhető maradt
  • A rekordszámokat az átállás előtt összehasonlítottuk a régi és az új adatbázis között
  • Egyetlen fotót sem másoltunk: az új alkalmazás ugyanazt a tárolót használja
  • Az olvasási replikák szolgálják ki a nyilvános oldalakat, automatikus visszaváltással az elsődlegesre

Technológia

  • Rust
  • axum
  • PostgreSQL
  • three.js
  • Amazon SES
  • Cloudflare Turnstile
  • Kubernetes
  • Honeybadger

Vállalkozására szabott szoftverre van szüksége?

Integrációk, belső eszközök, alkalmazások és platformok, megrendelésre, AI-ügynököket irányító tapasztalt mérnökök fejlesztésében. Mondja el, mire van szüksége, és megmutatjuk, hogyan építenénk meg.