Programujeme letenky

Vývojáři GOL IBE v C.E.E. Group Travelport
Programátorský web
Background image - Futurama office park
Práce

Koho hledáme

Trip Manager

Stránky produktu

Github

Náš github

Příručka

Úvod do začátků

Diagram

Jak GOL funguje

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 | 2020 | 2021

GOL IBE D4 - Next.js, React native
GOL IBE D4 - Next.js, React native

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. Aplikace má i verzi určenou pro korporátní zákazníky - TripGate a s využitím React Native i verzi mobilní.

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.

Trip Manager - PHP, Next.js
Trip Manager - PHP, Next.js

Vyvíjíme také rezervační systém pro dodatečné služby k letenkám Trip Manager. K již zakoupené letence umožňuje dokoupit služby, jako jsou konkrétní sedadlo, check-in, dodatečná zavazadla nebo jídlo na palubě. Backend je v PHP 8.0 (využíváme PHPStan) a frontend v Next.js (React, Typescript). Trip Managera najdete v historii zpráv pod starším názvem Trawys.

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 8.0, využíváme PHPStan (na nižších levelech), testy píšeme v Codeception a PHPUnit.

Co všechno tedy používáme
  • Next.js, React, Typescript
  • PHP 8.0, 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 na mobilní aplikace máme React Native
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...