Kodukad.ee

Custom arendus

Kui plugin ei ole vastus: broneerimissüsteemid, liidestused ja erilahendused, mis on kirjutatud sinu äri järgi.

Enamik veebiprojekte saab lahendatud olemasolevate tööriistadega. Aga vahel ei ole plugin vastus: äri töötab omamoodi, süsteemid peavad omavahel rääkima või valmislahendus maksab igakuiselt rohkem, kui ise ehitamine ühekordselt maksaks.

Sellistel puhkudel kirjutame lahenduse ise. Mitte sellepärast, et see oleks uhkem — vaid sellepärast, et see on sinu oma, teeb täpselt seda, mida vaja, ja ei lukusta sind ühegi litsentsi külge.

Mida oleme päriselt ehitanud

Broneerimissüsteemid

Restoranile Ferment ehitasime laudade broneerimise nullist: oma kalender, mis oskab sulgeda esmaspäevad-teisipäevad ja piirata viimast broneeritavat kellaaega iga nädalapäeva kohta eraldi. Kinnitamine käib e-kirjas oleva nupuga, ilma sisse logimata — töötaja saab telefonist kinnitada sekunditega.

Matkakorraldajale HikingEstonia tegime broneerimise koos maksmisega: klient valib osalejate arvu ja maksab pangalingiga, ilma ühegi meilivahetuseta.

Liidestused ja automaatika

HikingEstonia jaoks kirjutasime plugina, mis loeb Facebooki ürituste API-t ja loob neist saidil broneeritavad retked koos toodetega. Sama retke ei pea enam kaks korda sisestama.

Rendinõude e-poes kirjutasime kogu rendiloogika — saadavus, laoseisu tagastus, rendiperioodid, tarneviisid — otse teemasse WooCommerce’i andmemudelis. Vana plugina andmestruktuur säilis üks-ühele, nii et migratsiooni polnud vaja: null seisakut, null kadunud tellimust.

Vormid ja andmetöötlus

Vormipluginad piiravad kujundust ja rämpsposti kontrolli. Oleme ehitanud vorme, mis salvestavad päringud andmebaasi, saadavad brändikujundusega kirjad ja tõrjuvad roboteid mitme kihiga korraga — peidetud honeypot-väli, ajalõks, rate limit ja nähtamatu kontroll.

E-posti taristu

Pale Blue Dot puhul oli kõige kulukam viga nähtamatu: päringud jõudsid andmebaasi, aga teavituskirjad ei jõudnud kunagi kohale. Seadistasime autenditud SMTP ja domeeni täieliku autentimise — SPF, DKIM, DMARC, CAA. Kõik neli läbivad kontrolli.

Mitmekeelsus

Suurele saidile sobib tõlkeplugin. Väiksemale on see kahurist varblase pihta — Fermendile kirjutasime kerge oma tõlkekihi (~110 stringipaari), mis katab ka JavaScripti: kalender kuvab eestikeelseid kuunimesid ja iga broneeringu juurde salvestatakse külalise keel, nii et kinnituskiri tuleb samas keeles.

Loe lähemalt

Millal tasub custom lahendus

  • Äri töötab omamoodi. Rendiperioodid, hooajad, grupihinnad, eritingimused — valmislahendus surub sind oma vormi.
  • Süsteemid peavad rääkima. Ladu, raamatupidamine, CRM, tarnija hinnakiri.
  • Litsentsitasud kuhjuvad. Kümme pluginat aastatasuga liidab kiiresti rohkem, kui ühekordne arendus maksaks.
  • Kiirus on kriitiline. Iga plugin lisab koodi, mida sa ei kontrolli.
  • Vajad midagi, mida pole olemas. Kõige lihtsam põhjus.

Millal ei tasu

Oleme ausad ka teistpidi. Custom lahendus ei ole mõistlik, kui:

  • olemasolev plugin teeb juba 90% tööst ja ülejäänu on kosmeetika;
  • tegemist on standardse asjaga — kontaktvorm, galerii, lihtne uudiskiri;
  • eelarve lubab ainult ehitamist, mitte hilisemat hooldust;
  • keegi peale meie ei oskaks seda hiljem hallata — seepärast kirjutame nii, et järgmine arendaja saab aru.

Kuidas me ehitame

  1. Kaardistame protsessi. Kõigepealt uurime, kuidas su äri päriselt töötab — mitte seda, milliseid nuppe vaja on.
  2. Pakume kõige lihtsama lahenduse. Kui plugin teeb töö ära, ütleme seda.
  3. Ehitame moodulitena. Kogu loogika elab eraldi failides, mis ei sõltu teema ega pluginate uuendustest.
  4. Testime päris andmetega. Testostud päris maksega, enne kui sait avalikuks läheb.
  5. Anname üle. Kood, ligipääsud ja dokumentatsioon on sinu.

Tehnoloogiad

Alus on enamasti WordPress ja PHP, aga sisu määrab vajadus:

  • Back-end: PHP, MySQL, WordPressi kohandatud sisutüübid (custom post types) ja REST-liidesed
  • E-kaubandus: WooCommerce, Montonio ja Maksekeskuse pangalingid, pakiautomaadid
  • Front-end: vanilla JavaScript ilma jQuery-sõltuvuseta, CSS custom properties, Tailwind
  • Liidestused: Facebook Graph API, raamatupidamistarkvara, laoprogrammid, Klaviyo, Mailchimp
  • Mõõtmine: GA4 koos Consent Mode v2 ja kohandatud sündmustega
  • Turvalisus: nonce’id, serveripoolne valideerimine, turvapäised, Cloudflare Turnstile
  • E-post: autenditud SMTP, SPF/DKIM/DMARC, brändikujundusega HTML-mallid
  • Struktuurandmed: Schema.org JSON-LD otsingu ja AI-vastuste jaoks

Korduma kippuvad küsimused

Kas custom lahendus on kallim kui plugin?

Ehitamine on kallim, ülalpidamine sageli odavam. Plugin maksab iga aasta ja võib igal uuendusel katki minna; oma kood on ühekordne kulu, mille üle on sul kontroll. Ütleme ette, kumb sinu puhul mõistlikum on.

Mis saab, kui me ei ole enam teie arendajad?

Kood, ligipääsud ja dokumentatsioon on sinu omad — ka siis, kui teed lahku lähevad. Kirjutame nii, et järgmine arendaja saab aru: ilma kümne plugina litsentsi ja ühegi page builder’i lukustuseta. Just seepärast me page builder‘eid ei kasuta.

Kas saate liidestada meie olemasoleva süsteemiga?

Enamasti jah — kui süsteemil on API või andmeid saab eksportida. Ütle, mis süsteem see on, ja vaatame üle, mis on tehtav.

Kas te ehitate ka väljaspool WordPressi?

Jah. WordPress on meil kõige sagedasem alus, mitte piir — kirjutame eraldiseisvaid liidestusi, andmetöötlust ja teenuseid, mis WordPressiga otseselt seotud ei ole, ning portime valmis prototüüpe (nt React/Vite kavand) töötavaks saidiks. Räägi, mida vaja on, ja ütleme ausalt, kas see on meie või mõne teise partneri töö.