---
title: "Vývoj softwaru na míru"
description: "Služby a integrace na míru v TypeScriptu, dodané do vašeho repozitáře a zdokumentované pro předání."
language: "cs"
canonical: "https://zapolu.com/cs/services/custom-development/"
---

# Vývoj softwaru na míru

Ne každé zadání lze pokrýt e-commerce platformou. Když je zadáním
vlastní služba, integrační vrstva, interní nástroj nebo backend pro
marketplace, stavíme jej od základů v TypeScriptu, s písemně
dohodnutým rozsahem, dodaný do vašeho repozitáře a zdokumentovaný
pro pozdější předání.

## Co stavíme

- **Vlastní integrace** mezi e-commerce a systémy ERP / PIM / WMS pro
  případy, kdy hotový konektor pokrývá 80 % toku a chybějících 20 %
  tvoří jádro vašeho podnikání
- **Interní nástroje**, které do administrace e-shopu nepatří: cenové
  enginy, vyřizování vratek, skladové dashboardy, konzole pro
  zákaznickou podporu
- **Marketplaces, multi-tenant SaaS backendy a doménové služby**, kde
  je produktem samotná doménová logika
- **Migrace ze starých zakázkových systémů**, kde je polovina
  požadavků zdokumentovaná a druhá polovina existuje jen jako
  znalost jednotlivých pracovníků; první dodávkou je pak písemný
  popis toho, co starý systém skutečně dělá

Několik projektů tohoto typu z minulých let, anonymizovaně: automatický
přeceňovací engine pro katalog se 123 000 produkty, řízený predikcí
dnů do vyprodání z dat ERP, s pásmy pravidel, auditní stopou
a pojistkami pro případy, kdy se automatický výpočet liší od
rozhodnutí člověka; přepočet
prodejní historie zkrácený paralelizací ze 14 hodin na 2,5 hodiny,
který bere naposledy prodané produkty jako první, aby nejčerstvější
čísla dorazila nejdřív; a migrace zákazníků mezi platformami, při
které nikomu nepřišel e-mail na reset hesla, protože se heslo při
prvním přihlášení ověřilo proti starému hashi a transparentně
přehashovalo do nového formátu; plaintext se nikdy nikam neukládal.

## Jak stavíme

Každý backend, který dodáme, má stejnou základní strukturu:

- **strukturované moduly** s explicitně deklarovanými
  závislostmi,
- **dependency injection**, kterou lze přepsat pro testy nebo pro
  chování specifické pro dané prostředí,
- **lifecycle hooky**, aby subsystémy startovaly i končily ve správném
  pořadí,
- **validace kontraktů při startu**: pokud je zapojení neúplné,
  aplikace se odmítne spustit. Chyba v konfiguraci se tak projeví
  během několika sekund při startu, a ne jako null-pointer exception
  tři týdny po nasazení.

Na této struktuře trváme: explicitní závislosti zviditelňují
místa, kde systém selhává, a software zůstává srozumitelný
i rok po spuštění.

## Jak vypadá dodávka

- Práce probíhá **ve vašem repozitáři a ve vaší organizaci**; kód
  vlastníte od první zaplacené faktury
- Testy a kontroly kontraktů běží v CI od prvního týdne, ne až jako
  stabilizační fáze na konci
- Každé nasazení má cestu zpět a systém odchází s napojenými logy,
  metrikami a alerty (jak provozujeme, co postavíme, popisuje stránka
  [DevOps a infrastruktura](/cs/services/devops/))
- Předávací dokumentace je běžná součást dodávky: runbooky,
  poznámka k architektuře a záznam rozhodnutí

Pokud je obtížnější rozhodnout, co postavit, než samotná realizace,
jde o [návrh systémů a architekturu](/cs/services/system-design/).
Obě služby poskytujeme společně i samostatně. Zakázky s pevným
rozsahem trvají obvykle
4–16 týdnů s týdenní fakturací; systémy s delším životem pak
pokračují na měsíčním paušálu.