Sveobuhvatna SDK biblioteka za REST API platforme za poruke Jojka, koja u PHP aplikacijama omogućava jednostavno upravljanje SMS kampanjama, kontaktima, porukama i odgovorima. Izgrađena je po obrascima čiste arhitekture, da bi programeri upravljanje SMS kampanjama uključili u svoje aplikacije uz što manje truda.
Obim projekta
Samostalno razvijen projekat, od početne arhitekture do produkcionog izdanja. Kompletna SDK biblioteka za REST API sa modularnim dizajnom zasnovanim na servisima, temeljnim testovima i distribucijom preko Packagist-a.
Odgovornosti
- Osmislio kompletnu SDK biblioteku od nule, sa modularnim dizajnom zasnovanim na servisima (Campaign, Contact, Message)
- Implementirao čist sloj apstrakcije sa apstraktnom servisnom klasom i obrascima zahtev / odgovor za komunikaciju sa API-jem
- Napravio pouzdanu obradu HTTP zahteva sa tipiziranim klasama za sve API krajnje tačke (18+ vrsta zahteva)
- Integrisao GuzzleHTTP za pouzdanu HTTP komunikaciju i Symfony OptionsResolver za validaciju konfiguracije
- Osmislio sloj modela sa serijalizacijom i deserijalizacijom uz JMS Serializer
- Napravio sopstveni sistem izuzetaka sa posebnim tipovima za različite greške
- Uspostavio PSR-4 autoloading i strukturu composer paketa za distribuciju
- Razvio opsežan skup unit testova uz PHPUnit, koji pokriva sve servise i modele
Ishodi i rezultati
Jojka SDK sakriva složenu komunikaciju sa API-jem, pa PHP programeri mogu da uključe upravljanje SMS kampanjama bez rada sa sirovim HTTP zahtevima. Biblioteka je objavljena na Packagist-u i standardizuje integraciju, što implementaciju u klijentskim aplikacijama skraćuje za 70–80% u odnosu na ručnu integraciju. Modularna arhitektura omogućava rast uz očuvanu kompatibilnost unazad, pa SDK pouzdano podržava i obimne SMS operacije.
Ključna postignuća
- Napravio i dokumentovao klase zahteva za sve Jojka API krajnje tačke: upravljanje kampanjama, kontakti, rutiranje poruka i obrada odgovora
- Osmislio servisno orijentisan obrazac koji sakriva složenost HTTP-a i omogućava jednostavnu integraciju u više klijentskih aplikacija
- Programeri SMS funkcionalnosti uključuju za nekoliko sati umesto za nekoliko dana, zahvaljujući gotovim servisima i tipiziranim objektima zahteva
- Implementirao validaciju konfiguracije i razumne podrazumevane vrednosti, pa je za pokretanje SDK-a dovoljan samo API ključ
- Napravio posebne izuzetke (DeserializationException, ErrorResponseException, InvalidOptionsException, MissingConfigurationException) za preciznu obradu grešaka
- Razvio opsežan PHPUnit skup testova koji pokriva sve servise, modele i granične slučajeve, radi pouzdanosti u produkciji
Stečene veštine
- Dizajn API SDK-a i arhitektonski obrasci
- Implementacija servisno orijentisane arhitekture
- Integracija HTTP klijenta na nivou velikih sistema
- Strategije serijalizacije i deserijalizacije objekata
- Temeljna obrada izuzetaka i oporavak od grešaka
- Razvoj vođen testovima i prakse osiguranja kvaliteta
- Distribucija paketa, verzionisanje i composer ekosistem
- Principi čistog koda i SOLID obrasci
