Skip to content

Proiecte/Termkont

Termkont

Vânzare de containere maritime pentru o firmă din Sankt Petersburg. Un catalog virtualizat, un flux de cereri care trimite solicitările într-un inbox real și un panou de administrare în spate.

ROL
Dezvoltare
AN
2025
PLATFORMĂ
Web
STARE
Online la termkont.ru
termkont.ru
Termkont — Câteva sute de anunțuri, filtrate pe loc

Câteva sute de anunțuri, filtrate pe loc

02 / 07

Screen 2 of 7: Câteva sute de anunțuri, filtrate pe loc

Problema

Site-ul trebuia construit la vedere și lansat deliberat: vizibil pentru client, invizibil pentru motoarele de căutare, până în ziua în care n-a mai fost.

Termkont vinde containere maritime: câteva sute de anunțuri, un flux de cereri care trimite solicitările pe email cu anunțul atașat și un panou de administrare cu o lună de date de trend. Totul în rusă, pentru o piață în care Yandex contează mai mult decât Google.

Designul interfeței e al lui Artur Moldovanu. Eu am construit frontendul, modelul de date din Firestore, funcțiile din spatele fluxului de cereri, panoul de administrare și deployment-ul.

Două constrângeri au modelat totul: clientul trebuia să vadă progresul pe un URL live fără ca motoarele de căutare să-l găsească, iar utilizatorii reali erau pe conexiuni destul de lente încât un stylesheet care nu ajunge să fie un mod de eșec adevărat, nu unul teoretic.

Rezultatul

Online la termkont.ru și predat în întregime, așa că îl administrează clientul fără mine. Designul interfeței e al lui Artur Moldovanu.

STARE
Online la termkont.ru
PLATFORMĂ
Web
PREDARE
Completă
Produsul

Trei ecrane îl duc.Un singur dispozitiv, trei stări.

termkont.ru
Termkont — state 1

STAREA 01 / 03

Catalogul

Câteva sute de anunțuri, cu filtre care trebuie să rămână rapide pe o conexiune lentă. Rânduri virtualizate, imagini dimensionate pe fiecare breakpoint și niciun index de căutare descărcat în browser înainte să se afișeze ceva.

termkont.ru
Termkont — state 2

STAREA 02 / 03

Cererea

Nimeni nu cumpără un container dintr-un checkout. Fiecare anunț se termină într-o cerere, care e validată, limitată ca rată și trimisă într-un inbox real, cu anunțul atașat, ca răspunsul să poată fi concret.

termkont.ru
Termkont — state 3

STAREA 03 / 03

Panoul

Clientul avea nevoie să vadă ce intră fără să mă întrebe pe mine. Cereri, stare și o lună de date de trend, în rusă, în spatele aceleiași autentificări ca restul site-ului.

Pe dedesubt

Două decizii care merită explicate.Părțile care au durat cel mai mult.

D—01

Două motoare de căutare, un singur comutator

Yandex e motorul care contează aici și nu citește un site la fel ca Google. Asta a însemnat date structurate în ambele dialecte, semnale geografice explicite pentru Sankt Petersburg și un sitemap care spune adevărul despre ce e efectiv online.

Trebuia și să poată fi construit în public. Indexabilitatea e un singur flag setat la deploy. Directivele pentru roboți, tagurile canonice și sitemapul îl citesc toate, așa că staging-ul e invizibil, iar lansarea e o variabilă de mediu, nu o listă pe care o uită cineva.

seo.config.tsTS
// one flag, read everywhereexport const INDEXABLE =  process.env.PUBLIC_INDEX === 'true' robots:    INDEXABLE ? 'all' : 'noindex'sitemap:   INDEXABLE ? routes : []canonical: INDEXABLE ? SITE_URL : undefined geo: { region: 'RU-SPE' }

D—02

Când stylesheet-ul nu ajunge niciodată

Utilizatori reali, pe conexiuni lente, vedeau o pagină fără stiluri. Nu o pagină lentă, ci una fără stiluri, pentru că cererea pentru stylesheet eșuase de tot și dedesubt nu era nimic.

Așa că un bloc critic mic pleacă inline în head-ul documentului: layout, scara tipografică și destulă culoare cât pagina să fie lizibilă și navigabilă pe cont propriu. Dacă ajunge stylesheet-ul complet, preia el. Dacă nu ajunge niciodată, site-ul tot funcționează.

critical.cssCSS
/* inline, in <head>, ~1.4kb */:root{--ink:#101725;--acc:#3B6BD4}body{font:16px/1.5 system-ui;color:var(--ink)}.grid{display:grid;gap:12px} /* full sheet takes over when it lands *//* if it never does, this still reads */

PE CE E CONSTRUIT

FRONTEND
Next.js 15 · React 19 · Tailwind 4 · TypeScript strict
BACKEND
Firebase: Firestore, Cloud Storage, Cloud Functions
CALITATE
Playwright end-to-end · bugete Lighthouse în CI
LIVRARE
Vercel · Yandex Webmaster · Google Search Console

CREDITE

Designul interfeței: Artur Moldovanu. Frontendul, modelul de date, fluxul de cereri, panoul de administrare și deployment-ul sunt ale mele.


STARE

Online la termkont.ru. Predat în întregime.

PROIECTUL URMĂTOR

Liquid Glass

O bibliotecă privată de componente React Native. Sticla nativă Apple pe iOS 26 și o alternativă fidelă peste tot altundeva, împreună cu componentele de la care pornesc proiectele clienților.

Preiau proiecte noi

Spune-mi ce construiești.Un plan scris și un preț fix înainte să se miște vreun ban.

Răspund la tot într-o zi lucrătoare. Dacă nu sunt omul potrivit pentru proiect, ți-o spun din start, nu după trei săptămâni.