Firemní aplikace na míru

rychle, kvalitně, přehledně

Vytváříme aplikace na nových typech technologií (lowcode), které výrazně urychlují čas dodánísnižují náklady na tvorbu. Odpadá tak nekonečné programování toho samého.

Ucelené prostředí pro stavbu aplikace minimalizuje chybovost, má skvělou dostupnost ve více datacentrech, vysokou stabiliturychlost.

Touto snadnou cestou lze vytvořit většinu běžných aplikací, které spravují firemní data. Systém je flexibilní k úpravám a přívětivý k rozšiřování dalšími moduly.

Zajistíme Vaší firmě:

Aplikace stavíme na české platformě Tabidoo. Máte zajištěnou plnou lokalizaci aplikace v češtině včetně její podpory.

Pomocí API a integračních nástrojů můžete data zpřístupnit dalším aplikacím, které využíváte, a zefektivnit, případně automatizovat své procesy.

Na trhu je dostupná široká síť partnerů, včetně nás, kteří se o Vás postarají. Vyhnete se tak obavě před takzvaným vendor lock-in stavem. Jde o stav, kdy se zákazník stane závislým na produktu či službě dodavatele bez snadné možnosti přejít na jinou aplikaci nebo si vybrat jiného dodavatele dané služby.

Data jsou uložena v cloudovém úložišti. Zálohovat data můžete i na vlastní infrastrukturu a v případě kritické aplikace je dostupná varianta pro běh přímo na Vašich serverech (on-premise řešení).

Náš tým je připraven pro Vaši společnost zajistit kompletní servis od návrhu postupu tvorby až po správu dat a dlouhodobou uživatelskou i technickou podporu.

Příklady použití naleznete na našem webu v sekci Digitální firma.

Akademie 02 - REST API

REST API

REST API je oblíbený, jednoduchý a snadno čitelný druh API. Rozhraní zajišťuje funkci pro předávání dat s ostatními aplikacemi. REST je obecný mechanizmus, který dává sadu doporučení a omezení.

Různé druhy API mají prakticky všechny aplikace zejména webové. Dokonce některé nové webové technologie jsou na komunikaci stránky, kterou vidíme v prohlížeči, a dotazování na server s ohledem na naši aktivitu v aplikaci přímo založeny. Jak API funguje se lze i vizuálně podívat na tematická videa třeba na YouTube.

Co to api je:

Co je to API?

a jak API funguje:

Přístup k API přes URL

K REST API přistupujeme prostřednictvím protokolu HTTP/S a URL adres, které známe z přístupu k webovým stránkách prostřednictvím prohlížeče.

URL adresa může vypadat například https://api.freelo.cz/v1/projects/

Finální implementace a složení URL se drobně liší aplikace od aplikace. URL obsahuje v uvedeném příkladu adresu rozhraní https://api.freelo.cz/, verzi API v1/ a v neposlední řadě endpoint projects/, tedy místo, které žádáme o data.

URL adresa může obsahovat mnoho dalších informací. Pro ukázku další příklad https://api.freelo.cz/v1/work-reports?date_reported_range%5Bdate_from%5D=2021-02-01&date_reported_range%5Bdate_to%5D=2021-02-28 kdy za endpointem work-reports následuje znak ? který značí, že budou následovat další parametry, které se poté dají řetězit znakem &.

Znaky jako [] a další se kódují, aby vyhovovala standardům URL např. na [ = %5B a ] = %5D. Každá knihovna pracující s URL má ke kódování/dekódování nástroj. Případně lze využít online nástroje. Vyhledejte hesla URL encoder/decoder.

HTTP metody

Zvolenou metodou, kterou URL prostřednictvím HTTP voláme deklarujeme, co od API chceme. Standardně jsou k dispozici základní čtyři metody, ale existuje jich více:

JSON struktura

JSON se stal standardním formátem pro předávání dat v rámci API. Tímto formátem posíláme data, která chceme API předat a stejně tak takto data získáváme. Ukázka získaných dat z API.

{
    "total": 4013,
    "count": 100,
    "page": 0,
    "per_page": 100,
    "data": {
        "reports": [
            {
                "id": 2298977,
                "date_add": "2022-04-07T08:36:27+02:00",
                "date_reported": "2022-04-07T06:41:19+02:00",
                "note": "fakturace",
                "minutes": 116,
                "cost": {
                    "amount": "0",
                    "currency": "CZK"
                },
                "task": {
                    "id": 4792264,
                    "name": "Fakturace"
                },
                "tasklist": {
                    "id": 509200,
                    "name": "Pravidelné úkoly"
                },
                "project": {
                    "id": 187549,
                    "name": "C- managment",
                    "labels": [
                        "connexa it"
                    ]
                },
                "author": {
                    "id": 4914,
                    "fullname": "Tomáš Haubert"
                },

Stavové kódy

Po odeslání dotazu nám API kromě odpovědi vrací i stavový kód, jak se s naším požadavkem popasoval. Nejraději vidíme stav 200 OK, to znamená, že požadavek proběhl v pořádku. Stavů je celá řada. Podrobný výpis naleznete třeba v článku na IT Network.

Dokumentace

Kvalitně zdokumentované API je základem úspěchu jeho vhodné implementace. Existuje mnoho nástrojů, jak jej vhodně popsat. Jedním z nejlepších a nejrozšířenějších je původně český startup Apiary.io. Jak vypadá konkrétní dokumentace se můžete podívat třeba na aplikace Freelo.

Nástroje pro testování

Ve chvíli, kdy chceme začít s API pracovat, nejdříve potřebuje nějaký šikovný program pro jeho testování. Mně se odsvědčil Postman a na iPadu používám Rest – HTTP API Client.

Autorizace

Víme, k čemu API slouží, v dokumentaci jsme si našli endpointy, se kterými chceme pracovat, a máme nástroj pro práci. Pro otestování nástroje a práci lze pracovat s veřejnými API pro tyto účely. Někdy jsou i vtipné nebo se zajímavou tématikou třeba ze světa Star Wars. V praxi se budeme setkávat se zabezpečenými rozhraními. Možností, jak se autorizovat, je celá řada. Často se setkáme s variantou Basic, kdy se z našeho uživatelského jména a hesla vytvoří hash, který se pošle v hlavičce dotazu. Obvyklá je také varianta uživatelské jméno (email) a API klíč, který si vygenerujeme v uživatelském profilu aplikace ke které přistupujeme.

Vygenerovaný API klíč v 

Ukázka

Ve videu si shrneme informace z článku a otestujeme API s reálnými daty.

Akademie 01 - představení

Proč akademie

Chceme se rozšiřovat a růst, zároveň víme o velkém množství lidí, kteří by rádi nastartovali své IT kariéry, ale je to pro ně často těžká vstupní brána a neví, kudy do ní vstoupit. Chceme jim v tom pomoci. Kurzů a výukových materiálu (různé kvality) je na internetu nepřeberné množství. Proto jsme se rozhodli nevynalézat kolo a nevěnovat se tvorbě vlastních materiálů, ale stejně jako propojujeme hotová řešení v oblasti aplikací, i zde vybíráme z již připravených materiálů.

Představení modelu akademie

Naše akademie je založena na samostudiu kombinovaném s mentoringem a poradenstvím. Pro oblast, na kterou se zaměřujeme, vybíráme a sestavujeme plán z komerčních kurzů a absolventům poskytujeme dlouhodobou podporu během studia. Podpora studenta zahrnuje:

Nabízíme víc než práci

Profík se srdcem na pravém místě

Ahoj, možná jsi to právě Ty. Nabídka dobrých peněz za programování a všechny možné benefity je samozřejmost. Že je práce za monitorem někdy stereotyp? To je pravda.

Proto nechceme jen kolegu, ale především kvalitního člověka, který umí pracovat v týmu, má spoustu nápadů, je odpovědný za svěřené úkoly.

Máme volné pozice:

Jsme startup a kromě byznysu podporujeme dobré věci.

Tak to jsme my, jestli se k nám chceš přidat, pošli životopis a motivační dopis a pojď s námi změnit svět 🙂 ...aspoň o kousek...

Zdeněk a Tomáš

Connexa IT s.r.o.

info@connexa.cz

Všechny pozice

Převod starých příspěvků na nový web

Při tvorbě nového webu jsme dostali požadavek na převod všech příspěvků z původního webu na nový. K dispozici byl pouze jeden velký export kompletní databáze. Původní server již nefunguje a je potřeba data vytřídit, upravit a nahrát na nový web.

Příprava dat

V první řadě bylo nutné data dostat z exportu do živé MySQL databáze, abychom s nimi mohli dále pracovat. Jelikož byl původní server a všechny jeho aplikace již celkem staršího data, bylo vhodné nainstalovat i databázi z podobných let. Využili jsme tedy a připravili Docker v předpokládané verzi pro spuštění databáze s možností importu přes příkazovou řádku. Kompletní databázi jsme naimportovali a následně protřídili, aby nám zůstala jen naše databáze.

Úprava dat

Data nebyla v optimální formě. První věcí bylo dostat kódování z latin1 do UTF8.

původní data

K tomu se ovědčil následující SQL příkaz:

UPDATE copy_news SET obsah = CONVERT(CAST(CONVERT(obsah USING latin1) AS BINARY) USING utf8);

Také datum zveřejnění článku neodpovídalo potřebným kritériím, upravili jsme ho tedy na standardní databázový formát:

UPDATE copy_news SET datum = STR_TO_DATE(REPLACE(datum, ' ',''), '%d.%m.%Y');

A požadovaný výsledek se dostavil.

data po úpravách

Import dat do nového webu

Články máme připraveny a nyní je potřebujeme dostat do nového webu. Web běží na redakčním systému WordPress. Máme několik možností, jak data hromadně do webu nahrát.

Zvolili jsem poslední variantu, protože data můžeme z MySQL např. přes aplikaci Adminer velice snadno exportovat do CSV formátu a pluginů pro import dat do WordPressu z CSV formátu je celá řada.

Zvolili jsme plugin WP Import Export Lite. Obsluha je velice jednoduchá a intuitivní. Stačí nahrát CSV soubor, namapovat, kam se mají jednotlivé sloupce nahrát (titulek, obsah, datum zveřejnění) a spustit import.

A to je vše. Data máme vložena na webu v požadovaném formátu.

Rezervační systém pro správu sportoviště

Město postavilo nové sportoviště a potřebovalo vyřešit docházkový systém s předáváním klíčů a dohledem nad celý postupem.

Problém

Řešení

Výsledek

Použité technologie

Cena realizace

Válka na Ukrajině

Nesouhlasíme s válkou na Ukrajině. Odsuzujeme útok na svobodnou zemi, jejíž prezident (a ostatní obyvatelé Ukrajiny) dal jasně najevo, že nechtějí být nesvobodní a poklonkovat se lidem, kteří si chtějí podmanit nejlépe celý svět.

Nesmíme zapomínat na to, že ve válce umírají obyčejní lidé, ale rozkazy dávají generálové a státníci a že i v Rusku jsou lidé, kteří jsou zmanipulovaní a dezinformování a nebo se nemohou svobodně vyjádřit. Každý den musíme bojovat o svobodu, dnes vidíme, jak rychle se dá ztratit a jaká oběť je v sázce pro její získání zpět.

Přáli bychom všem, aby prozřeli a ukončili tuto nesmyslnou válku, kterou odnesou zase jen obyčejní lidé a to z obou stran.

Obdivujeme lidi, kteří se nevzdávají a bojují s neuvěřitelnou odvahou.
Vážíme si všech, kdo tak nezištně a s velkým nasazením poskytují humanitární pomoc.

Modernizace nových skladů

Výrobce kancelářského nábytku postavil nové skladové prostory a zároveň se potřebovala připravit na expanzi do zahraničí a s tím mít připravené systémy na napojení partnerů.

Problém

Řešení

Výsledek

Použité technologie

Cena realizace

Od papíru do digitální kanceláře

Firma s dlouholetou tradicí se potýkala s neefektivní administrativou. Převod základní agendy je pro firmu první krokem k digitální transformaci. Nově vytvořené prostředí je plně připravené na zapojení dalších nástrojů a růst společnosti.

Problém

Řešení

Výsledek

Použité technologie

Cena realizace

Tomáš Haubert

Začátek roku 2021 nenasvědčoval ničemu, co by ohlašovalo takové turbulentní změny v mém zejména pracovním životě.

Ještě v lednu 2021 jsem pracoval na volné noze pro velké české poskytovatele internetu. V danou chvíli jsem se věnoval tvorbě interaktivních firemních procesů ve webové aplikaci v roli procesního architekta. Nastala ale situace, kdy firmy chtěly řešit implementaci interně, a já pocítil, že je to pro mě impulz k tomu, abych po letech změnil prostředí.

Nový start

Začal jsem s rozhlížením se po aktuální situaci na trhu. Měl jsem několik tipů, které jsem dlouhodobě sledoval a absolvoval několik rozhovorů. Nakonec jsem se dohodl v hostingové společnosti na pozici PHP programátora. Ze začátku vše šlapalo, ale postupně se začaly objevovat náznaky, kterým jsem nevěnoval pozornost. Nesoustředěnost, roztěkanost, myšlenky se rozutíkaly všemi směry a výsledek se brzy začal dostavovat. Nekvalitně odevzdaná práce, kterou jsem měl před dokončením za hotovou, ale při kontrole se ukázalo, že jsem opomněl mnoho základních věcí. Prostředí hostingu jsem měl za ideální spojení oblíbených technologií, ale z uvedených důvodů jsem se musel podívat dále.

Říkal jsem si, že asi potřebuji větší změnu. Začal jsme tedy pracovat ve firmě, kde jsem se věnoval vývoji mobilních aplikací, které pro mě byly vždy cool. Po pár prvních měsících se opět objevilo to, co dříve, ale s několikanásobnou intenzitou. Dostal jsem se až do stavu doslovné paralýzy, kdy člověk sedí, kouká skrz monitor a říká si, co tady vlastně dělám.

Vyhoření?

Ve firmě mi nabídli pomoc psycholožky. Nemyslel jsem si, že bych to řekl, ale těch několik posezení bylo skvělých a rozhovory u mě otevřely spoustu vnitřních otázek a dovedly k hlubšímu zamyšlení nad sebou.

Zároveň jsem spoluvlastnil IT firmu, kde jsem již neviděl svůj větší přínos a po dohodě s kolegy svůj podíl prodal.

K tomu se přidala v rodině jedna smutná událost, která ještě zintenzivnila hledání vlastního já a další cesty. Pracovně jsem hlavou úplně vypnul. Týden jsem si dal úplnou pauzu a zbytek měsíce jezdil na montáže, abych si vyčistil hlavu fyzickou prací a poplatil základní věci, protože složenky nepočkají.

Nový impulz a celkový restart

V tomto období jsem potkal kamaráda Zdeňka, který dělal v sociálních službách, aktuálně v zaměstnání skončil a také hledal novou výzvu. Seděli jsem dlouhé večery a přemýšleli, jak naše zkušenosti propojit a vytvořit společný projekt, který bude samostatně životaschopný a zároveň přinese něco nového a hlavně svým zaměřením pomůže dalším lidem.

Connexa IT s.r.o.

Celý nápad jsme několikrát kompletně překopávali a propsali nepočítaně fixů na tabuli nápadů. Nakonec se podařilo. Na trhu je nedostatek IT pracovníků. Bez práce naopak mnoho lidí s velkým potenciálem, ale zdravotními obtížemi. Stavíme firmu na zelené louce, takže přizpůsobíme všechny procesy od začátku, tak abychom byli flexibilní k zaměstnancům a dynamičtí k zákazníkům při zachování plnohodnotné kvality služeb.