Sa našim klijentom trenutno radimo na njihovom sopstvenom proizvodu i imamo ogromne mogućnosti razvoja. Naša infrastruktura:
Frontend
- React, pure components
- Materiai UI
- Apollo GraphQL client
- Webpack, Babel
Koristimo samo ES6, ništa function
, then.then
, var
, samo =>
, async/await
, const/let
, itd. Stare klasne komponente stalno prepravljamo u Pure components, koristimo i custom hookove i sve postojeće hookove da napravimo što više funkcionalni i reaktivni mehanizam.
Koristimo Prettier i Eslint da osiguraju prelep kod, ali to radimo i ručno, tako nam ide ruka. A neće proći ni na CR-u ako nije kako treba.
Koristimo snagu, fleksibilnost, lako pisanje i čitljivost čistog JavaScript-a. Nije da ne znamo TypeScript – svi ga znamo – ali smo shvatili da nam je produktivnost veća bez njega i rešili smo ga se iz nekoliko projekata. Možda zato što smo svi iskusni developeri i ne treba nam njegova trivijalna pomoć, a smeta nam “šum” koji stvara.
Backend
- Node.js
- express
- Apollo GraphQL server
- REST Microservices with 100% integration tests
I na bekendu samo ES6, isto Prettier, isto Eslint. Ali ovde gruvamo i testove, popraviš bug, overiš ga testom.
Niko od nas nije ekspert za GraphQL, ali na kraju ćemo svi postati. Imamo baš veliki interfejs i konstantno ga obogaćujemo i stalno refaktorišemo.
Nekoliko većih Java servisa stalno prevodimo u Node.js mikroservise i pri konverziji dodajemo testove. Imaćemo na kraju FULL Node.js fullstack.
Infrastruktura
- Docker cloud
- Jenkins deployment pipeline
- Ansible konfiguracije
- GitHub PR’s
- Flyway migrations
- Locize translations
Volimo sve što vole mladi. Naš devops tim je ograničen samo vremenom, a ideja ne manjka sa svih strana. Svi pomalo imamo devops veština, pa i developeri pomažu.
Razvojni ciklusi
- Dvonedeljni scrum
- Planiranje, daily standup, retrospektive
- Product Owner
- Jira, Microsoft Project
Zaleđina nam je ista, naučili smo da radimo u drugim kompanijama na ovaj način, pa smo se lako uskladili, da ne izmišljamo toplu vodu.
Ako ima nekih pitanja, pišite i zovite, a možete i da nam se pridružite pa će vam sve biti jasno 🙂