Přehled témat projektů z minulých let

Jaro 2003 - projekty pro týmy čtyř studentů

Agenda vinného sklepa

Navrhněte XML formát pro vedení evidencí vinného sklepa. Formát umožní evidovat nádoby, viniční tratě, vína v jednotlivých nádobách včetně původu a historie zpracování apod. Vytvořte program, který umožní s evidencí pracovat a generovat příslušné výstupy.

Agent pro plánování dovolené

Navrhněte (nebo použijte nějakou existující) sadu značek pro doplnění informací do xhtml stránek cestovních kanceláří, hotelů, ubytoven, turistických atrakcí, vinných sklepů, muzeí, informačních středisek apod.

Vytvořte program (agenta), který bude schopen stránky doplněné o výše uvedené značky analyzovat a na základě několika vstupních kritérií (termín, délka, druh akce, cenová relace, počet osob, apod.) navrhovat různé varianty pro plánování dovolené, rodinného výletu, pracovního pobytu, apod. Výstup bude generován ve vhodném formátu.

Funkčnost agenta demonstrujte na sadě nejméně 15 stránek různých fiktivních institucí či subjektů.

Bibliografická databáze

Navrhněte XML formát pro ukládání anotované bibliografické databáze. Formát umožní ukládání informací o různých knihách, článcích, sbornících, přednáškách, závěrečných prací apod. U každého záznamu bude možné evidovat základní bibliografické údaje, stručnou anotaci, klíčová slova, různé odkazy (např. na plné texty článku, jiné bibliografické záznamy, atd.) apod. Vytvořte internetovou aplikaci pro editaci, prohlížení, vyhledávání, tisk, export a import podmonožiny záznamů a export do formátu Bibtex.

Evidence vozidel

Navrhněte XML formát pro evidenci firemních vozidel. Formát umožní evidovat všechna vozidla, historii jejich uživatelů, seznam všech oprav a servisních zásahů, nákladů spojených s provozem vozidla apod. Vytvořte příslušnou aplikaci pro řízení této agendy, která umožní editaci a prohlížení údajů, generování výstupů (seznam vozidel, karta vozidla, seznam oprav a zásahů v daném měsíci, náklady na provoz vozidel apod.). Doplňte také import (případně export) údajů pro jejich výměnu s autoservisem (nejlépe automaticky pomocí internetu).

Formát dat pro encyklopedii

Navrhněte XML formát dat pro encyklopedii. Formát umožní ukládat různé encyklopedické pojmy z různých kategorií s odkazy na relevantní hesla, obrázky, vysvětlující www stránky apod. Vytvořte aplikaci pro prohlížení a editaci encyklopedie, šablony pro generování xhtml stránek a agenta, který zpracuje libovolnou xhtml stránku a doplní do ní odkazy na známé pojmy v encyklopedii (morfologii jazyka neřešte). Odkazy budou implementovany pomocí speciálních značek (aby mohly být vkládány i ručně) a jejich transformaci do standardních HTML odkazů provede jednoduchá šablona.

Funkčnost demonstrujte na ukázkové encyklopedii s několika (15-20) hesly.

Formát pro ukládání zkoušek ve formě testových otázek

Navrhněte formát pro ukládání různých zkoušek formou testů. Formát umožní vytvářet knihovny testových otázek z různých oborů a z nich poté skládat konkrétní testy. U každé testové otázky bude možné evidovat obtížnost, obor, typ otázky, okruh, počet bodů za správnou/špatnou odpověď apod. Jedna otázka může mít volitelně více správných odpovědí (pak lze stanovit počet bodů za každou odpověď zvlášť). Vytvořte program pro editaci knihoven, vytváření testů s podporou jejich automatického generování a tisk testů. Vytvořte internetovou aplikaci pro zkoušení podle vytvořených testů. Obě aplikace mohou pochopitelně sdílet společné části kódu.

Pro inspiraci doporučuji program KEduca (http://edu.kde.org/keduca/); případný export nebo import do tohoto formátu bude hodnocen jako významné pozitivum (měla by to být otázka jedné XSLT šablony).

Docházkový systém

Vytvořte internetovou aplikaci docházkového systému postavenou na XML. Systém umožní evidovat jednotlivé pracovníky, jejich příchody, odchody, kde jsou zrovna přítomni (u lékaře, na služební cestě, atd.) apod. Aplikace bude generovat výstupní sestavy, jako např. seznam odchodů a příchodů pracovníka, seznam pracovníků s počtem odpracovaných hodin, seznam pracovníků na pracovišti v určitou dobu apod. Vytvořte také malý program pro registraci příchodů a odchodů, který bude tyto data posílat internetové aplikaci (ve formátu XML, můžete použít SOAP).

Jednoduché účetnictví v XML

Navrhněte formát XML souboru pro uložení všech důležitých evidencí jednoduchého účetnictví (peněžní deník, pokladní kniha, kniha závazků, kniha pohledávek, evidence DPH, evidence majetku, apod.). Vytvořte účetní program, který bude tento formát používat. Program umožní vkládání a prohlížení dat, provedení uzávěrky a generování příslušných sestav pro tisk.

Genealogický strom

Navrhněte XML formát pro ukládání genealogického stromu (tj. rodokmenu). Formát umožní ukládat veškeré zajímavé životopisné údaje o osobách, významná data a místa (narození, úmrtí, působení), manželství apod. Nezapomeňte na odkazy (internetové stránky, jiné osoby atd.). U všech informací umožněte vyznačit jejich zdroj a případně i spolehlivost. Vytvořte program (nebo internetovou aplikaci) pro editaci údajů, jejich analýzu a tisk. Vytvořte také šablonu pro export stromu do formátu xhtml stránek.

Vše demonstrujte na malém genealogickém stromu nějaké reálné či fiktivní osoby.

Katalog produktů

Navrhněte XML formát pro katalog produktů, který umožní evidovat produkty a skupiny produktů. Skupiny produktů mají hierarchickou (stromovou) strukturu a každá skupina může obsahovat libovolné množství produktů. Jeden produkt může být obsažen ve více skupinách. Produkty mohou mít kromě standadních vlastností (název, popis, sazba dph apod.) také různé atributy, které se liší dle produktu a jejichž seznam se může měnit. Produkt může mít více cen podle typu zákazníka (delaer, koncový zákazník).

Naprogramujte aplikaci, která umožní takovýto katalog prohlížet a editovat. Dále vytvořte aplikaci pro prohlížení katalogu, tisk katalogových listů a objednávání zboží. Objednávku ve formátu XML bude možné odeslat elektronickou poštou na příslušnou adresu. Obě aplikace pochopitelně mohou sdílet společné části kódu.

Plánovací kalendář

Navrhněte XML formát pro plánovací kalendář. Formát umožní ukládat schůzky, kontakty, úkoly apod. Vytvořte program pro jeho prohlížení, editaci a tisk. Vytvořte také internetovou verzi aplikace a doplňte import rozvrhu z ISu. Implementujte mechanismus, který umožní publikovat vybranou podmnožinu kalendáře na webu (např.seznam kontaktů) a importovat jej do kalendáře někoho jiného. Nezapomeňte na možnost exportu označených pravidelných akcí a schůzek do rozvrhu hodin ve formátu XML a LaTex.

Systém pro evidenci firemních předpisů

Navrhněte XML formát pro ukládání firmeních předpisů. Formát musí podporovat základní formátovací značky (např. odstavce, kapitoly, zvýraznění písma apod.), odkazy na jiné dokumenty a příslušné metainformace (např. název, autor, verze dokumentu, rozsah platnosti, typ dokumentu, kdo jej schválil apod.).

Vytvořte internetovou aplikaci pro vkládání, zobrazování, prohledávání a manipulaci s těmito dokumety. Aplikace bude udržovat jejich historii a evidovat jejich jednotlivé platné verze, aby bylo možno zjistit, který předpis v jakou dobu platil. Dále bude podporovat proces schvalování dokumentů (někdo jej vytvoří nebo opraví a příslušná osoba jej schválí, čímž vznikne nová platná verze).

Testování korektnosti WWW stránek

Navrhněte systém, který umožní kontrolovat obsah WWW stránek ve formátu XHTML. Správný obsah jednotlivých částí WWW stránky bude popsán formou XML dokumentu. Tento dokument bude obsahovat různé podmínky, které musí být splněny, aby byl dokument považován za správný. Systém samozřejmě provede také kontrolu validity xhtml stránky dle příslušného DTD. Rozsah zadání bude upřesněn při konzultaci na cvičeních.

Import dat ve formátu XML

Vytvořte univerzální nástroj pro převod dat ve formátu xml do jazyka SQL. Nástroj bude akceptovat data v libovolném XML formátu, která pomocí definičního souboru pro daný formát transformuje na posloupnost SQL příkazů.

Požadavky a jejich eskalace v organizaci

Vytvořte internetovou aplikaci, do které se budou hlásit uživatelé nějaké organizace (s hierarchickou strukturou). V této aplikaci budou moci zadávat požadavky na ostatní uživatele systému. Požadavek má tyto stavy:

Uživatel, který má na sebe přidělen požadavek může pro tento požadavek vypsat dílčí požadavky. Každý požadavek má nějakou prioritu a předpokládanou dobu vyřešení.

Eskalační část bude spouštěna periodicky systémem (např cronem každých 5 minut). Bude sledovat zda není překročena předpokládaná doba řešení - jestliže ano, je o tom informován zadavatel i řešitel (může mu být například zvýšena priorita, může být přidělen někomu jinému apod.).

Navrhněte formát XML dokumentu pro správu uživatelů (s ohledem na organizační strukturu), dále XML pro správu požadavků a jejich eskalaci. Váš systém vystavějte na těchto dokumentech. Příslušné XML můžete mít uloženo v databázi.

Aplikace bude umět generovat reporty v XHTML nebo PDF (např. počty požadavků u jednotlivých uživatelů, statistika eskalovaných problémů, apod. - záleží na vás)

Editory pro DocBook

Vytvořte pro editor Jaxe (http://jaxe.sf.net) konfigurační soubory pro editaci prezentací Docbook-Slides (http://docbook.sf.net).

Lokalizujte (počeštěte) konfigurační soubory pro DB-Slides i pro základní Docbook.

Jaro 2003 - individuální projektu pro studenty ukončující předmět pouze zápočtem

Generování rezolučního stromu v SVG

Navrhněte velmi jednoduchý XML formát pro ukládání rezolučního stromu (viz. logika a logické dokazování - nemusíte tomu rozumět, stačí vědět, jak to vypadá). Vytvořte XSLT šablonu, která vygeneruje rezoluční strom ve formátu SVG (místo SVG lze případně generovat přímo kód v LaTeXu). Projekt je hodnocen 35 body a je určen pro studenty, kteří chtějí ukončit kurz PB138 zápočtem.

Kniha jízd v XML

Navrhněte XML formát pro knihu jízd a vytvořte aplikaci, která jej bude používat. Aplikace umožní knihu jízd plnit, prohlížet a generovat z ní sestavy pro tisk. Projekt je hodnocen 35 body a je určen pro studenty, kteří chtějí ukončit kurz PB138 zápočtem.

Statistika využití poštovního serveru

Navrhněte formát pro ukládání statistických informací o všech odesílaných zprávách na poštovním serveru. Vytvořte program (sadu šablon), který umožní tyto informace statisticky zpracovat. Projekt je hodnocen 35 body a je určen pro studenty, kteří chtějí ukončit kurz PB138 zápočtem.