Darbi05 / 05

Rīkotāja divdesmit gadu vēsture pārcēlās no Drupal tēmas, kas joprojām piegādāja IE6 stila lapas: trīs valodas divdesmit dienu laikā, un 2026. gada oktobrī tā joprojām tiek papildināta ar frontendu, kas pēdējo reizi mainīts 2024. gada februārī.

artforte.lv

ArtForte sākumlapa ar sarkanu priekškaru un AF monogrammu
artforte.lv — pirmais ekrāns.
Klients
ART Forte, Latvijas producentu kompānija
Loma
Izstrāde: vietne, satura modelis, CMS
Periods
Būvēts 2023. gada janvārī; frontends pēdējo reizi mainīts 2024. gada februārī
Tehnoloģijas
Next.js, TypeScript, Strapi 4, PostgreSQL, S3, Vercel, Heroku
Tiešsaistē
artforte.lv

ART Forte ved uz Latviju starptautisku operu, baletu, teātri un koncertus, pēc pašu teiktā, kopš 2005. gada. Arhīvā ir Anna Netrebko ar savu pirmo koncertu Baltijā un José Carreras 2008. gadā.

2022. gada decembrī šī vēsture dzīvoja Drupal vietnē, kas joprojām piegādāja style.ie6.css, divās valodās. Uzņēmumam, kas strādā ar starptautiskiem producentiem, vajag tam pretējo.

Trīs darbi: pateikt apmeklētājiem, kas notiek, un novirzīt tos uz pareizo biļešu lapu viņu valodā; parādīt divdesmit gadu iestudējumus kā pārlūkojamu vēsturi; un nodot katru vietnes vārdu, līdz pat pogu uzrakstiem, klienta rokās.

  1. 01

    Publiska vietne trīs valodās

    Latviešu, angļu un krievu: katrā vienpadsmit maršruti. Saraksti ir statiski ar piecu minūšu reģenerācijas logu, detaļu lapas tiek renderētas pēc pieprasījuma.

  2. 02

    Satura modelis, nevis pielāgots administrēšanas panelis

    Seši Strapi satura tipi, 85 lauki, no tiem 67 lokalizēti. Pats administrēšanas panelis apzināti ir standarta: darbs ir modelī. Katrs uzraksts ir CMS lauks, tāpēc pogu var pārformulēt trīs valodās bez izvietošanas.

  3. 03

    Pasākums, kas pats aiziet arhīvā

    Gaidāmie pasākumi un arhīvs ir viena tabula, sadalīta pēc datuma. Dienu pēc izrādes tā pārceļas uz arhīvu, un vieta, datums, cena un poga Buy Ticket no tās lapas pazūd. Nevienam nekas nav jādara.

  4. 04

    Biļešu saites katrā valodā

    Katras valodas ieraksts ved uz pareizo lapu pie biļešu tirgotāja. Bez apmaksas lapas, bez karšu datiem, bez krājumu sinhronizācijas: tirgotājs turpina darīt savu darbu. Cena par to — piltuve pēc klikšķa nav redzama.

  5. 05

    Divdesmit gadi, ko var pārlūkot

    88 ieraksti latviešu valodā, 86 krievu, 82 angļu, no 2006. līdz 2026. gadam. Tulkojumi katram ierakstam nav obligāti, tāpēc izrāde var pastāvēt vienā valodā, bet ne citā, un režģī nerodas caurums.

Kā tas uzbūvēts

  1. Redaktori

    • Strapitrīs valodas, 85 lauki
    • S3afišas un fotogrāfijas
  2. Dati

    • PostgreSQL
    • Viena Event tabulasadalīta pēc datuma
  3. Vietne

    • Next.js uz Vercel
    • Reģenerācijaik pēc 5 minūtēm
  4. Apmeklētājs

    • Programma un arhīvs
    • Biļešu tirgotājsdziļā saite katrā valodā
Iepriekšējā ArtForte vietne, Drupal tēma, tverta 2022. gada decembrī
Iepriekš: Drupal vietne 2022. gada decembrī, no Wayback Machine.
ArtForte arhīva režģis ar pagājušajiem iestudējumiem
Arhīvs: divdesmit gadi vienā pēc datuma sakārtotā režģī.

Tas, kas portfolio parasti nenonāk. Tas viss notika patiesībā, un tas viss ir komitu vēsturē.

  1. Kļūme 01

    Viens attēls, četri vārti, 30 komiti piecās dienās

    Simptoms
    CMS augšupielādētie attēli ne vienmēr parādījās. Šeit piecās dienās aizgāja 22 % no visiem projekta komitiem, ar nosaukumiem „Fix Image url”, „1”, „2”, „3”, „final”, nākamajā rītā atcelšana, „4”, „Hardcode domain url”.
    Cēlonis
    Vienas kļūdas nebija. Fotogrāfija iet cauri četriem neatkarīgi konfigurētiem vārtiem, un katri izgāzās savā veidā: paša administrēšanas paneļa drošības politika, objekta tiesības S3, URL forma (frontends pielika hosta prefiksu URL, kas jau bija absolūti) un Next attēlu atļauto saraksts. Deviņas stundas viena konfigurācija lasīja AWS_BUCKET, bet otra AWS_BUCKET_NAME. Šāds lasījums nāk no diff; paši komiti neko nesaka.
    Risinājums
    Katri vārti salaboti pēc kārtas, pēc tam ImageWithFallback, lai neizdevies attēls rāda izstrādātu aizstājēju, nevis salauztu ikonu. Headless steki pārceļ kļūmes uz šuvēm: katra daļa viena pati strādāja, un neviens konfigurācijas fails neatbildēja par „fotogrāfija parādās”.
  2. Kļūme 02

    Analītikas ielāps, kas atvienoja React

    Simptoms
    Komits ar nosaukumu „Fix ui”, 2023. gada aprīlis. Viss tā diff ir viena elementa atgriešana failā _document.tsx.
    Cēlonis
    Iepriekšējā vakarā, pievienojot Google Tag Manager, <NextScript/> tika izņemts kopā ar fragmentu, ko tas aizstāja. Šis elements nes hidratācijas datus, tāpēc React nekad nevarēja pārņemt servera HTML: burgera izvēlne, valodu izvēle, Load More un jaunumu vēstules forma būtu pilnīgi nedzīvas. Simptoms teica UI, bet cēlonis bija mārketinga rīki.
    Risinājums
    Viena rinda, atjaunota pēc 19 stundām 44 minūtēm. Kļūme būtu bijusi neglīta, nevis melna: lapas ir iepriekš renderētas, tāpēc saturs un saites izdzīvo arī bez JavaScript. Neviens tests to nevarēja noķert, jo testu nebija.
  3. Kļūme 03

    Arhīvs, kas gadu rādīja 2008. gadu

    Simptoms
    Sākumlapas arhīva bloks sākās ar vecākajām izrādēm, nevis jaunākajām. Wayback Machine to ir saglabājis: četras 2008. gada izrādes 2023. gada februārī, tās pašas četras jūlijā, dienu pēc liela koncerta.
    Cēlonis
    sort[0]=date pēc noklusējuma kārto augošā secībā. Tas tika uzrakstīts vienpadsmit dienas pirms vēsturisko ierakstu ievades, kad secība nebija redzama. Un tas izdzīvoja, jo izskatās ticami: lielu vārdu siena no 2008. gada izskatās pēc apzinātas izlases, nevis kļūdas.
    Risinājums
    date:desc, pēc 372 dienām. Kļūdām datu smagās vietnēs vajag, lai dati kļūtu redzami un lai uz tiem paskatītos cilvēks, kas tos pazīst.
  4. Kļūme 04

    Tulkojums ir rinda, nevis kolonna

    Simptoms
    Valodu izvēle nevarēja nonākt pie pareizā detaļu lapas tulkojuma. Ziņās un arhīvā, pārslēdzot valodu, uz ekrāna palika iepriekšējās valodas kartītes.
    Cēlonis
    Divi slazdi. Strapi katram tulkojumam piešķir savu skaitlisko id, tāpēc viena un tā pati izrāde ir 398, 399 un 400. Un Next, mainoties lokālei, lapu nepārmontē, tāpēc useState patur vecās valodas sarakstu arī pēc tam, kad props ir mainījušies.
    Risinājums
    Izvēle nolasa ieraksta lokalizācijas un pārraksta id uz radniecīgā ieraksta id. Saraksti renderēšanas laikā salīdzina lokāli un paši atiestatās. Tas pats nepārmontēšanas slazds atkal uzpeldēja tieši šajā vietnē, pirmajā ekrānā un čatā.
  5. Kļūme 05

    Pēdējais komits bija klienta Instagram darbplūsma

    Simptoms
    Arhīva kartītes bija būvētas ainavas formātā. Augšupielādētie attēli klusi bija pārgājuši no 3861×2574 uz 1080×1920, un failu nosaukumi to arī teica.
    Cēlonis
    Komanda bija sākusi veidot vienu vertikālu afišu Instagram Stories un lietot to visur. Neviens to nelēma; materiāli vienkārši mainījās zem dizaina.
    Risinājums
    Jauna kartītes attiecība 2024. gada februārī, pēdējās koda izmaiņas, kādas frontends ir saņēmis. Pēdējais, kas kodam bija vajadzīgs, nebija funkcija, bet gan atbilstība tam, kā darbinieki patiesībā strādā.

  • komiti 20 dienu būvēšanā2023. gada 7.–26. janvāris, 17 atsevišķās dienās
  • arhīva ieraksti LV, RU, ENsaskaitīts dzīvajā vietnē, 2026. gada 30. oktobris; no 2006. līdz 2026. gadam
  • valodas, agrāk 2vecajā vietnē bija latviešu un krievu
  • CMS lauki lokalizētiseši satura tipi
  • dienas arhīvs rādīja 2008. gaduWayback kopijas pret labojuma komitu
  • mēnesis starp pēdējo frontenda komitu un jaunāko ierakstu2024. gada februāris – 2026. gada 1. oktobris

Projekta pulss

Katrs komits projekta repozitorijos uz vienas līnijas. Jo augstāks stabiņš, jo karstāks laiks.

2022. g. dec.2025. g. apr.
  1. Karkass ar Firebase plānu, kas izturēja mēnesi
  2. Būvēšana sākas: 114 komiti 20 dienās
  3. „Fix ui”: Tag Manager ielāps
  4. Arhīvs iemācās kārtot
  5. Pēdējais frontenda komits: afišas attiecība
  6. CMS pārceļas pie cita mitinātāja bez nevienas frontenda izmaiņas

Satura vietne sevi attaisno ar to, cik ilgi tā darbojas bez jums. Nododiet vārdus klienta rokās, atstājiet pasākumu pārcelšanu arhīvā datu modeļa ziņā, un tā strādā vēl gadiem pēc pēdējā komita. Ja jūsu vietnei katrai izmaiņai vajag izstrādātāju, šī problēma ir atrisināma.

Uzrakstīt brīfu

Ātri atbildu WhatsApp un Telegram

Vai pajautājiet par to digitālajam prātam
Nākamais projektsWinningBy AI