U nás stáž znamená samostatný projekt a aplikaci, která se opravdu používá. V tomto článku představujeme konkrétní interní projekty a nástroje, které naši studenti navrhli a vyvinuli – od prvního nápadu až po nasazení.
Studenti u nás nejsou jen přiděleni na drobné úkoly v existujícím týmu. Od začátku řeší konkrétní problém, hledají nejlepší přístup a postupně budují řešení, které se stane součástí našeho interního fungování.
Během stáže si vyzkouší vývoj projektu od A do Z – od návrhu architektury a založení projektu přes samotný vývoj, testování a automatizované nasazování až po task tracking, práci s Gitem a spolupráci v týmu. Zkrátka vše, s čím se člověk běžně setká při práci na reálném projektu v IT firmě.
Po celou dobu mají navíc k dispozici zkušeného mentora, se kterým mohou konzultovat technická rozhodnutí i případné překážky. Za projekt ale nesou odpovědnost oni sami, díky čemuž si vyzkouší samostatné rozhodování a způsob práce na projektu.
Služební cesta není jen o samotném výjezdu, ale i o administrativě kolem – vyplňování údajů, schvalování, dohledávání podkladů a následném zpracování dokumentů. Právě tento proces si vzal jeden z našich studentů na starost.
BizTripDocGen je interní webová aplikace, která zjednodušuje správu služebních cest i generování potřebných dokumentů. Zaměstnanci do ní přehledně zadávají všechny detaily od destinace a termínu přes způsob dopravy až po stravování a administrátor má všechny žádosti na jednom místě.
Aplikace tak nahrazuje ruční evidenci a zdlouhavé dohledávání. Výsledkem je přehlednější proces, méně administrativy a rychlejší zpracování služebních cest.
BizTripDocGen vznikl jako moderní full-stack aplikace v Next.js a Reactu (TypeScript). Frontend běží na Tailwind CSS a komponentách z shadcn/ui, administrátorská část využívá TanStack Table pro práci s daty. O databázi i autentizaci se stará Firebase, notifikace zajišťuje Mailjet.
Student si tak prošel vývojem moderní webové aplikace v prostředí, které se běžně používá v praxi – od databáze až po produkční nasazení.
![]()
Měsíční timesheety jsou nutnost, ale jejich vytváření může být zdlouhavé. TimeSheet Generator vznikl jako jednoduchá webová aplikace, která umožňuje rychle vygenerovat přehledný měsíční výkaz práce.
Uživatel se přihlásí, zadá potřebné údaje a aplikace automaticky vytvoří soubor s timesheetem. Ten bylo možné rovnou uložit například na Google Drive, bez nutnosti ruční úpravy nebo přepisování dat. Výsledkem bylo rychlejší a pohodlnější zpracování výkazů.
Aplikace byla postavena jako single-page aplikace v Reactu a TypeScriptu s využitím nástroje Vite pro vývoj a build. Uživatelské rozhraní bylo vytvořeno pomocí Tailwind CSS. O autentizaci uživatelů se staral Firebase a testování probíhalo pomocí nástroje Vitest.
Student si tak vyzkoušel práci s frontendovou architekturou, generováním souborů, přihlašováním uživatelů i integrací s Google Drive.
![]()
Slack je komunikační platforma, kterou týmy používají pro každodenní spolupráci. A protože se v něm často rozhoduje o termínech, prioritách nebo organizačních věcech, dává smysl mít možnost rychlého hlasování přímo v konverzaci.
Open Pool vznikl jako open-source Slack aplikace inspirovaná nástrojem Simple Poll. Funguje jako Slack bot pro vytváření anket přímo v konverzacích a je navržený tak, aby byl snadno nasaditelný na Firebase.
Projekt je napsaný v TypeScriptu s využitím frameworku Slack Bolt. Backend běží na Firebase Functions v2 a Firestore a komunikuje přes Slack API. Součástí vývoje byl i lokální setup s emulátory a napojením přes ngrok. Frontend je postavený v Reactu s Tailwind CSS a komponent z ShadCN, testování probíhalo pomocí Vitest.
Student si tak vyzkoušel vývoj plnohodnotné Slack integrace, práci s externím API i serverless architekturu v praxi.
Zdrojový kód je dostupný jako open source na GitHubu: https://github.com/profiq/slack-open-poll
![]()
Door Stats vznikl jako interní aplikace, která sbírá data o vstupech a snaží se z nich vytěžit víc než jen seznam záznamů. Cílem bylo vytvořit přehledný dashboard, kde jsou vidět trendy, časové souvislosti i situace, které vybočují z běžného chování.
Aplikace pracuje s časem, statistikami a grafy, takže místo dlouhých tabulek nabízí vizualizace, které dávají datům kontext. Součástí je také správa uživatelů a základní detekce anomálií – tedy momentů, kdy se děje něco neobvyklého.
Backend běží na Firebase (Functions, Firestore, Auth), včetně lokálního vývoje s emulátory a následného nasazení. Projekt tak nebyl jen o „zobrazení grafu“, ale i o práci s autentizací, databází a řešení věcí, které při deployi občas překvapí.
Frontend je postavený v Reactu s TypeScriptem a nástrojem Vite. O vzhled se stará Tailwind CSS a ShadCN UI, práci s daty řeší TanStack Query a vizualizace běží na Recharts.
![]()
Sdílené auto v kanceláři zní jednoduše, jenže bez pořádného systému se rychle stane zdrojem nejasností. Kdo má auto aktuálně? Je volné v pátek odpoledne? Kdo natankoval a za kolik? Právě tohle Car App pro nás řeší, úspěšně už několik let.
Aplikace pokrývá celý životní cyklus sdíleného vozidla – od vytvoření rezervace přes schválení správnou osobou až po dojezd a vyplnění záznamu o ujetých kilometrech, tankování nebo servisu. Jednotliví uživatelé vidí dostupnost auta a spravují vlastní jízdy, zatímco schvalovatelé mají přehled o čekajících žádostech a účetní modul nabízí měsíční přehledy výdajů i přehled plateb.
Přihlašování funguje přes Google OAuth, takže zaměstnanci nepotřebují další heslo. Systém zároveň rozlišuje několik rolí – administrátor, schvalovatel, pokladní, účetní i běžný zaměstnanec a každá má přístup jen k tomu, co potřebuje.
Aplikace je postavená v Pythonu s frameworkem Flask a využívá modulární strukturu s blueprinty. Šablony jsou v Jinja2 se stylováním přes Bootstrap 5, formuláře řeší WTForms a data ukládá SQLite databáze přes SQLAlchemy ORM. REST API je zpřístupněno pomocí Flask-RESTx. Nasazení je plně kontejnerizované – Docker, Nginx jako reverzní proxy a uWSGI jako aplikační server. Automatizované testování změn pokrývají unit testy i end-to-end scénáře za pomocí Selenia.
Studenti si zde prošli vývojem a rozšiřováním reálné firemní aplikace – od změn na úrovni databáze přes aplikační logiku, tak i rozšiřování testů a správou produkčního nasazení.