Programujeme letenky

Vývojáři GOL IBE v C.E.E. Group Travelport
Programátorský web
Background image - Futurama office park
Publikováno 18.12.2018
Uživatelské testování

Ve spolupráci se Sherpas jsme opětovně provedli uživetelské testování našeho nového vyhledávacího procesu. Testování se jako přihlížející účastnili jak naši testeři, tak i část vývojového týmu. A výsledek? Skvělý zážitek a pár nápadů, jak proces pro naše zákazníky ještě vylepšit :)

Web Sherpas

Publikováno 3.12.2018
Sdílení zkušeností s vývojem v AWS

Michal nám představil nový projekt, kompletně napsaný pro AWS, na kterém ukázal deployment pomocí frameworku Serverless, který zjednodušuje popis infrastruktury a automatizuje proces nasazení. Projekt byl napsán v Typescriptu a tak jsme si ukázali jak zdrojové kódy v Typescriptu kompilovat pomocí Webpacku a Babelu, a optimalizovat kód pro browsery. Pro vývojáře Javascriptu byla zajímavá část o použití nového standartu ECMAScript 6 v rámci AWS Lambda funkcí. Velká část přednášky byla zaměřena i na testy, včetně selenium testů, které byly spouštěny lokálně pomocí Serverless Offline.

Více o frameworku Serverless

Publikováno 23.11.2018
Postman

Jak zrychlit práci při vývoji sw? Ano, samozřejmě, například využíváním speciálních nástrojů. Náš QA týmu začal používat nástroj Postman a experimentovat s jeho možnostmi, jako je rychlé přepnutí z prostředí na prostředí, pre-request a post-request scripty, které dokáží pro následující request vytáhnout z předchodzí odpovědi důležité údaje, atd... Zrychlení bylo tak viditelné že i vývojáři projevili o tento nástroj zájem. QA oddělení tedy na společném meetingu předvedlo možnosti nástroje a celý tým aktuálně může využívat připravené RQ pro svojí práci. Uvidíme, jak se to osvědčit v praxi.

Více o nástroji Postman

Publikováno 18.10.2018
Backendisti #9

Malá výprava na deváté setkání backendistů. Praktická ukázka DSL v Kotlinu přinesla zamyšlení, jestli máme kód dost hezký. Prezentace Ondřeje Mirtese dala pár tipů na nástroje užitečné pro vývoj v AWS lambda. A Petr Ferschmann předvedl užitečné (a zábavné) shrnutí principů, které by mělo splňovat každé API.

Záznam z Backendistů #9 na Youtube

Publikováno 25.9.2018
[PRO]Test! #65

Tématem 65. setkání komunity [PRO]Test! bylo opět QA, tentokrát šlo ale o QA as a service. O kvalitní přednášku se postaral dlouholetý tester Tomáš Přibyl, který se s námi podělil o pozitivní, ale i negativní zkušenosti se zaváděním a udržováním kvality vývoje v agilním prostředí.

Archív [PRO]Test! Komunita

Publikováno 21.9.2018
Playback č. 14

Rozhodli jsme si rozšířit své obzory v programování front-endů a ponořili jsme se do funkcionálního jazyka ELM, jenž je nádherný svojí jednoduchostí a striktním dodržováním typů.

jsDevMeetup - Tomáš Látal - Výlet do funkcionálního světa Elmu

Publikováno 5.9.2018
QA Meetup v Zonky

QA je nedílnou součástí vývoje SW a protože se neustále vyvíjí, snažíme se s ní udržet krok. Vyrazili jsme tedy na QA Meetup, které pořádalo Zonky a udělali jsme dobře. Ve velmi příjemném prostředí proběhly 3 přednášky. Dozvěděli jsme se, jak náročné mohou být testy nových lokomotiv, co je nástroj Mabl.com a jak testovat testy :). Vše se nám líbilo a ještě jednou děkujeme Zonky za super akci. Příště určitě opět rádi dorazíme.

Archív QA Meetup

Publikováno 22.6.2018
Playback č. 13

Přednáška od Petra Máry o metodách jak organizovat čas a priority při plnění několika projektů či úkolů zároveň.

Petr Mára: Getting Things Done

Publikováno 16.6.2018
Konference Devel.cz 2018

Konferenci Devel.cz máme rádi. Jednodenní výtah z agendy výrazných osobností (nejen) webového vývoje je něco, na co stojí za to si vyhradit čas. Letos patřily k nejzajímavějším témata OpenSource vývoje (Jakub Nešetřil a David Grudl), tradiční prezentace top technologií dneška (Martin Hochel a Martin Michálek) a drobná technická témata (GraalVM, autoformáting).

Sdílené, komentovatelné poznámky

Publikováno 29.5.2018
[PRO]Test! #62

Náš tester Libor se opět vydal na setkání skupiny [PRO]Test, kde se tentokrát dozvěděl, jaký je život QA/testera mobilní aplikace ve společnosti Liftago. A jaký je? No zdá se, že je hodně agilní, plný nástrah od výrobců mobilních telefonů a s nádechem neustálého hledání kompromisů mezi časem stráveným regresním testováním a sledováním chyb po nasazení do produkce z různých analytických nástrojů. Prostě plný výzev :-).

Archív [PRO]Test Komunita

Publikováno 28.5.2018
Jobs Dev

O návštěvě Jobs Dev jsme sepsali i kratičkou zprávu na naše firemní stránky.

Krátká zpráva o návštěvě

Publikováno 24.5.2018
Jobs Dev Soutěž

U příležitosti Jobs Dev jsme připravili Soutěž se Záludnými otázkami z letecké dopravy a Logickým kvízem Kolektiv. Sami si ji můžete vyzkoušet.

Jobs Dev Soutěž (správné odpovědi po najetí myši)

Publikováno 18.5.2018
HTTPS a HTTP2 s HAProxy

Dělíme se o poznámky z přehození GOL IBE na https a http2.

Přechod na HTTPS a HTTP2 s HAProxy

Publikováno 16.5.2018
Jobsdev.cz

Připravujeme se na účast na 2. ročníku veletrhu pro programátory Jobsdev. Kromě setkání s námi budeme mít i soutěž o letenku.

Inzeráty na Jobsdev.cz

Publikováno 23.4.2018
Správa konfigurace pomocí compile_conf

Na našem Githubu jsme uvolnili nástroj, který používáme pro konfiguraci proměnných v config.php (a obdobných) souborech. Navíc jsme sepsali, co nás k tomuto přístupu vede.

Config.php pro různá prostředí

Publikováno 5.4.2018
DB meetup PostgreSQL vs. MySQL

Meetup skupina se ve skutečnosti jmenuje MySQL, MariaDB and MongoDB talks, CZ a jednočlenná výprava na přednášky představující základní vlastnosti obou systému byla spokojenější než čekala. Nejzajímavější byly informace ohledně replikací a High Availability.

Poznámky z PostgreSQL vs. MySQL

Publikováno 20.3.2018
Poznámky z nasazování Memcached

Memcached už máme nasazenou na produkci, ale nebylo to bez překvapení. Poznámky jsme shrnuli do krátkého článku.

Nečekané potíže při převodu session z filesystému do Memcached.

Publikováno 27.2.2018
[PRO]Test! #59

Na setkání [PRO]Test komunity jsme se zájmem poslouchali Mirka Bureše a jeho téma: testování IoT. Aktuálně sice trochu mimo naše působení, ale v blízké budoucnosti .... kdo ví :)

Archív [PRO]Test Komunita

Publikováno 22.2.2018
Backendisti #8

Prima návštěva Backendistů #8. Nejveselejší byla Geneea s analýzou (ale i generováním) psaného textu. Zajímavé i Zonky s microservicama v cloudu.

Poznámky z Backendisti #8

Publikováno 30.1.2018
[PRO]Test! #58

Opět velká spokojenost ze setkání [PRO]Test komunity. Až z dalekého SK k nám do Prahy přijela parta, která stojí za vybudováním QA v dynamickém start-upu ve společnosti sli.do. Přednáška byla velmi přínosná a při porovnání zkušeností a postupů můžeme říci, že i ohledně QA jdeme s dobou :).

Archív [PRO]Test Komunita

Publikováno 22.1.2018
Commission Microservice

Na Commission Microservice si zkoušíme nový koncept, jak kód z našeho C++ jádra znovupoužít v prostředí AWS. Zrovna tak se utkáváme se znovupoužitím legacy PHP kódu našeho backofficu. Zatím se obojí plus mínus daří, a tak jsme do dříve zveřejněné dokumentace mohli doplnit práci s pravidly pro commission.

Commission Microservice dokumentace

Archív: 2016 | 2017 | 2018 | 2019

GOL IBE D4 - React
GOL IBE D4 - React

Vyvíjíme rezervační systém, kterému říkame GOL. Zkratka IBE znamená Internet booking (= rezervační) engine. Rezervujeme primárně letenky. Označení D4 značí čtvrtou generaci, vyvinutou v javascriptovém frameworku Next.js, postaveném na Reactu. Z původního Flow jsme přešli na Typescript. Testujeme v Jestu a Cypressu. Aktuálně máme první zákazníky, ladíme, doháníme funkcionalitu a rozjíždíme React Native verzi.

GOL IBE D3 - PHP
GOL IBE D3 - PHP

Starší verze GOLu. Systém stále intenzivně vyvíjíme a zároveň udržujeme v provozu přes 10 let. To znamená, že v začátcích GOLu vypadal webový vývoj úplně jinak než dnes. Ale neznamená to, že bychom ho dělali celou dobu stejně. Jsme na PHP 7.2, testy píšeme v Codeception a PHPUnit.

GOL API - C++
GOL API - C++

Uvnitř GOLu se skrývá C++ jádro staré více než 10 let. Historicky podporovalo několik zdrojů letenkových a hotelových dat, rezervace aut a pojištění. Stále je v něm co zlepšovat. Při vývoji si pomáháme mockováním všech externích zdrojů dat, se kterými spolupracujeme. To nám umožňuje psát automatické testy. Nový kód píšeme v C14 a když je to potřeba, využíváme Boost.

Trawys - PHP
Trawys - PHP

Vyvíjíme také rezervační systém pro dodatečné služby k letenkám Trawys. K již zakoupené letence umožňuje dokoupit služby, jako jsou konkrétní sedadlo, dodatečná zavazadla nebo jídlo na palubě. Verze PHP je 7.2 a využíváme PHPStan.

Co všechno tedy používáme
  • Next.js, React, Typescript
  • PHP 7.2, začínáme s PHPStan
  • PHPUnit, Selenium, VisualCeption, Jest, Cypress
  • C++ (s možností využívat C11 a C14), Boost
  • Git (Gitlab, včetně CI)
  • Mysql, Memcached, Redis
  • Munin, ELK
  • koketujeme s AWS lambda
  • Debian spravovaný pomocí Ansible
  • nějaký ten Shell a trocha toho Pythonu
  • a mobilní aplikace pro nás vyvíjí externisté
Externí API

Využíváme různá API z cestovního ruchu. Nejvíce používáme API k systému Galileo, které využívají i největší hráči v oboru. V ČR jsou to například Kiwi.com, StudentAgency, nebo Pelikan. Obdobné je to s API Travelfusion.

Hledáme kolegy

Podrobnější popis.

Čím je naše práce specifická
Čím je naše práce specifická
  • Vyvíjíme v týdenních cyklech
  • Refaktorujeme, automatizujeme
  • Produktu držíme podporu
  • Takže víme, jak se mu daří...
  • ... u nás, na Slovensku, v Albánii, v Srbsku...
  • ... nebo třeba Keni, Thajsku nebo Surinamu...