API i backend razvoj · Izrada
API na koji se vaše aplikacije oslanjaju i dok se backend mijenja
Svaki poziv ima tipiziran zahtjev i odgovor, a dozvole se provjeravaju na serveru. API koji smo napravili za američki marketplace ima 506 ruta u javnom i admin skupu.
AngažmanPo satu · remote
Radno vrijeme9–18 CET · 4 h preklapanja
StackNode.js · NestJS · Express
Dokaz4 projekta
Usluga u 4 dijela
01 · Za koga je
Vaš frontend, mobilna aplikacija ili partneri zavise od API-ja koji mora ostati predvidiv, a taj API često mora i rasti ili biti zamijenjen dok radi u produkciji.
02 · Šta smo napravili
- Za američki marketplace s pet vrsta korisnika napravili smo 506 API ruta, odvojenih u javni i admin skup. API sam provjerava dozvole i to ne prepušta interfejsu.Projekat 08 →
- Backend sa 100 modela podataka i 194 migracije, prebačen s PHP-a na Node.js, a kasnije na tipiziran framework. Proizvod je sve vrijeme bio dostupan, bez ijednog prekida rada.Projekat 04 →
- Model dozvola zapisan kao graf, pa se na pitanje „smije li ova osoba otvoriti ovaj fajl?“ odgovara obilaskom grafa, koliko god dug bio lanac veza iza odgovora.Projekat 15 →
- Pozivi našeg backenda prema nacionalnom registru u Zapadnoj Africi, zaštićeni ključevima, digest autentifikacijom, jednokratnim tokenima i listom dozvoljenih IP adresa. Ukradeni ključ sam po sebi ne otvara ništa.Projekat 09 →
Napravili smo i NestJS ERP koji radi uz SAP i s njim razmjenjuje podatke o kupcima, artiklima, narudžbama, fakturama, zalihama i finansijama.
03 · Kako radimo
01 · TIPOVI ZAHTJEVA I ODGOVORASvaki poziv ima tip zahtjeva i tip odgovora. Poziv bez njih zaustavlja commit, a CI isto provjerava još jednom.
02 · PROVJERE NA SERVERUDozvole provjerava sam API, jer provjeru koja postoji samo u interfejsu može zaobići svako ko API pozove direktno.
04 · Stack
Node.jsNestJSExpressTypeScriptPostgreSQLMySQLRedisSQSAWS
Dokaz
Gdje smo ovo već radili
Projekat 08 · Marketplace506 rutaZa američki marketplace s pet vrsta korisnika napravili smo 506 API ruta, odvojenih u javni i admin skup. API sam provjerava dozvole i to ne prepušta interfejsu.Pročitajte više o projektu →Projekat 04 · MarketplaceNula prekida radaBackend sa 100 modela podataka i 194 migracije, prebačen s PHP-a na Node.js, a kasnije na tipiziran framework. Proizvod je sve vrijeme bio dostupan, bez ijednog prekida rada.Pročitajte više o projektu →Projekat 15 · Poslovni sistemiProdanoModel dozvola zapisan kao graf, pa se na pitanje „smije li ova osoba otvoriti ovaj fajl?“ odgovara obilaskom grafa, koliko god dug bio lanac veza iza odgovora.Pročitajte više o projektu →Projekat 09 · Identitet1 radni danPozivi našeg backenda prema nacionalnom registru u Zapadnoj Africi, zaštićeni ključevima, digest autentifikacijom, jednokratnim tokenima i listom dozvoljenih IP adresa. Ukradeni ključ sam po sebi ne otvara ništa.Pročitajte više o projektu →
Česta pitanja
Pitanja o ovoj usluzi
Da, i to je obično najteži dio. Kad smo mijenjali backend marketplacea, stari je radio uz novi, sinhronizovan u oba smjera, sve dok mjerenja nisu pokazala da ga je i posljednja stara aplikacija prestala pozivati.
Prije svega u kodu. Build provjerava tipove zahtjeva i odgovora, pa se API ugovor i ono što servis zaista radi ne mogu neprimjetno razići.
Što je moguće manje, a kod koji servisi dijele ide u zajednički paket. Taj paket treba postojati već kod petog servisa, a marketplace ga nije imao ni nakon petnaestog. Narastao je do devetnaest repozitorija, a isti helper za red poruka bio je kopiran u sedam njih.
Može. ERP koji smo spomenuli gore radi uz SAP. Najviše truda ode na to da oba sistema pokazuju iste kupce, narudžbe i zalihe, jer ljudi odlučuju na osnovu ekrana koji im je u tom trenutku otvoren.
Sljedeći korak
Opišite problem i javit ćemo vam se s tri opcije.
Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.