Programujeme letenky

Vývojáři GOL IBE v C.E.E. Group Travelport
Programátorský web
Background image - Futurama office park
Publikováno 16.11.2019
Devel.cz 2019

Na konferenci Devel.cz se dává dohromady menší výprava každý rok, letos jsme byli ve dvou. Konference byla neobyčejně málo webová a o to víc hardwarová. Na papíře to moc lákavě nevypadalo, ale rozšíření obzorů a strhující Ondřej Žára stáli za to.

Poznámky z Devel.cz

Publikováno 12.11.2019
WordPress plugin pro GOL-IBE

Jak GOL-IBE k pluginu do WordPressu přišel.

Celý článek

Publikováno 5.11.2019
20. výročí Travelportu v ČR

Dne 17. 11. 2019 to bude 20 let od založení naší české pobočky Travelportu v České republice. Při té přiležitosti jsme v úterý 5.11. připravili odpolední workshop a slavnostní večeři v prostorách Lobkowiczkého paláce na Pražském hradě. Poslechli jsme si mimojiné Tomáše Sedláčka a Taťánu le Moigne a snědli dobré jídlo.

Reportáž z našich oslav

Publikováno 11.10.2019
TesenaFest 2019

3. 10. workshop agilního vývoje a 4. 10. konference na téma testování. Tak to byl program našeho testera minulý týden. Níže odkaz a pár fotek.

TesenaFest 2019

Publikováno 18.9.2019
Clash of TestStack 2019

O víkendu proběhla v Praze soutěž testerů Clash of TestStack. Sice jsme tam neměli vlastní soutěžící tým, ale náš QA Libor pomáhal akci organizovat a jako Travelport jsme se zařadili ke sponzorům akce a přispěli dobrým jídlem a pitím :)

Clash of TestStack

Publikováno 18.9.2019
Teribear - 1000km překonáno

Teribear - 1000km překonánoV rámci Teribearu se zadařilo a kilometrů jsme nakonec nasbírali solidní množství. Nejvíce z programátorů přiložil nohu k dílu Petr se solidními 72km. Ale každý kilometr se počítá.

Závěrečná zpráva a další informace

Publikováno 11.9.2019
Teribear hýbe Travelportem

Travelport patří k partnerům charitativní akce Teribear hýbe Prahou, kterou pořádá Nadace Terezy Maxové dětem. Akce probíhá bez přestávky 10 dnů (i v noci) na Vítkově, kde je možné sbírat kilometry na jedenapůlkilometrovém okruhu. Zapojila se nejen značná část firmy, ale i naši příbuzní a spřátelené duše. V tuto chvíli máme posbíráno 679.5km a nekončíme.

Aktuální výsledky našeho týmu

Publikováno 27.8.2019
Interní prezentace ELKu

Sem tam používáme u našich menších produktů reportování do ELKu. Aplikace loguje přímo (nebo nepřímo přes Logstash) do Elasticsearche a programátoři nebo manažer produktu si naklikají v Kibaně reporty jaké potřebují (například podklady pro fakturaci). Rádi bychom podobné využití ELKu rozšířili i na dashboardy k probíhajícím testům nebo pipelinám. Obecně by nějaký obdobný nástroj měl patřit do základní sady nástrojů každého programátora (podobně jako nějaká relační databáze nebo testovací framework). Proto jsme si udělali interní prezentaci základních principů ELKu.

Prezentace naprostých základů ELKu

Publikováno 20.8.2019
Bug hunting jako interní soutěž

Dokončujeme vývoj nového nástroje na prodej letenek a aby se k zákazníkům dostalo co nejméně chyb, tak jsme uspořádali celofiremní bug hunting. Cílem nebylo jen najít chyby, které prošly předchozím testováním, ale dostat produkt blíže interním zaměstnancům a získat případný feedback. Hlavní cena byla snídaně pro 2 v Cafe Louvre a po velkém boji byla udělena rovnou 2 vítězům :)

Poděkování na Linkedinu

Publikováno 16.8.2019
Past na konstruktor - static v C++

Občas se nám stalo, že jsme změnili pořadí souborů při kompilaci a aplikace začala padat. Záhada. Kolega Milan se rozhodl ji rozlousknout a výsledek popsal v krátkém článku se snadno pochopitelným příkladem.

Celý článek

Publikováno 2.8.2019
Administrátorská osmisměrka s našimi oblíbenými technologiemi

Kolega Tomáš pro pobavení v rámci svých programátorských experimentů připravil osmisměrku, která ukrývá jména technologií, které využíváme při vývoji. Zkuste si je najít.

Osmisměrka

Publikováno 18.7.2019
Playback č. 15

Po delší době jsme opět uspořádali další playback týkající se návrhových vzorů používaných v Riganti Infrastructure. Přednáška je z velké části soustředěna na způsoby přístupů k databázi ze svého projektu.

Ladislav Šesták: Návrhové vzory použité v Riganti Infrastructure

Publikováno 10.7.2019
Statická analýza C++ kódu

Po prvních krůčcích se statickou analýzou PHP kódu, se do ní s nástrojem Cppcheck pouští i C++ tým. A pokukuje i po silnějším Cppdependu.

Cppcheck

Publikováno 25.6.2019
Jak jsou důležité automatizované testy

Na 74. setkání [Pro]Test! komunity se probíralo téma: Proč si bez automatizovaného testování brzo ani neškrtnete a náš QA tam nemohl chybět. Padla i zajímavá otázka ohledně automatizace v zemědělství: Proč vznikl kombajn a ne robot s kosou? :)

Událost na Meetupu

Publikováno 28.5.2019
Manuální testy VS automatizace pomocí Codeception

To bylo téma našeho QA na 73. setkání testerské komunity [Pro]Test! Libor vyzdvihoval důležitost manuálního testování při kritice vyvíjeného produktu a roli novodobého testera v prostředí agilního vývoje. A aby to všechno mohlo fungovat, tak nutnost zautomatizování opakujících se regresních testů.

Událost na Meetupu

Publikováno 23.5.2019
AWS Webinář: Ochrana před DDoS

Celý název byl AWS CZSK Webinář 2019: Jak chránit vaše webové aplikace před DDos útoky a udělali jsme si čas se v menší skupince těch, co měli zájem, podívat v "premiérovém vysílání".

Záznam Webináře na Youtube

Publikováno 17.5.2019
experience for business

Konference X4B sice podle názvu spojuje téma User (Customer) experience s obchodem, ale v praxi šlo hlavně o vývoj inovativních nových produktů a služeb (nebo přesněji zážitků). K výpravě z oddělení ecommerce se připojil i zástupce programátorů.

Poznámky z Konference X4B 2019

Publikováno 30.4.2019
Hledáme administrátora do DevOps týmu

Do stránky Hledáme přibyl popis, jakého nového kolegu bychom si přáli do týmu.

Popis pozice IT admin/DevOps

Publikováno 29.3.2019
Jak u nás testujeme?

Náš test lead Libor Šimo byl pozván Radimem Danielem Pánkem a Tomášem Přibylem do live-streamu #TEST-STACK, aby představil, jak se u nás testuje a jaké nástroje používáme.

Celý záznam rozhovoru je uložen zde

Publikováno 21.3.2019
Dramaticky jednoduché GUI pro aplikace příkazové řádky

Michal připravil článek s nečekaným objevem v podobě tvorby GUI pro Windows.

Celý článek

Publikováno 18.3.2019
Typescript Best Practices

Vypadá to, že Typescript se stává oblíbený už i u nás a tak bylo na čase sdílet zkušenosti skrze všechny naše týmy. Proto jsme vytvořili nový veřejný repozitář s osvědčenými postupy, který budeme postupně obrušovat k dokonalosti

Odkaz na repozitář

Publikováno 07.03.2019
Používání Technologií v roce 2019

Ze zvědavosti jsme se pustili do průzkumu, jak hodně se v praxi využívají technologie, o kterých se kolem nás tolik píše a mluví.

Vyhodnocení ankety

Publikováno 04.03.2019
Jak si ohlídat cenu letenky?

Se Zaleť si jsme připravili nový způsob, jak sledovat vývoj cen letenek. Jde o nástroj FlightWatchdog.

Popis fungování od Zaleť si

Publikováno 01.02.2019
ProTest_cz a panelová diskuze

Komunita #proTest_cz pořádala nově panelovou diskuzi a náš tester Libor na ní nesměl chybět :) Probíraly se hlavně otázky "S čím se potýká QA", "Automatizace", "Continuous delivery a zkušenosti s ním" či "Testování na produkci".

Testování

Publikováno 28.1.2019
Párové testování

Minulý rok jsme začali a letos v tom hodláme pokračovat. Mluvíme o párovém testování, které si zatím pochvalují jak programátoři, tak testeři. Hlavní výhodu vidíme ne jen v teoretické časové úspoře, ale i ve sdílení informací a zkušeností.

Testování

Publikováno 25.1.2019
Headless Chrome a jeho využití

Michalovo krátké zamyšlení o Headless Chrome a jeho pragmatické využití, například pro generování PDF z HTML.

Odkaz na článek

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 plánujeme 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...