PV178/02
Celosemestrální projekty
Poslední změna: 20. května 2011
Témata
Témata projektů a jejich zadání v tomto dokumentu:
Odevzdání
Termín odevzdání projektu je do 12. června 2011, případně se ztrátou 12 bodů
do konce zkouškového období Jaro 2011 (1. července 2011).
Dokončení projektu
U projektu budu hodnotit a přihlížet k následujícím věcem:
- opravení chyb,
- splnění zadání,
- intuitivní uživatelské rozhraní,
- hlavně ať není potřeba pro použití aplikace přečíst si její zdrojový
kód,
- odolnost proti nekorektním a neobvyklým vstupům,
- aplikace nespadne kvůli
špatnému vstupu,
- blbuvzdornost,
- existenci zbytečného a nepoužívaného kódu,
- dodržení konvencí pro zápis kódu (pojmenování členů tříd, odsazení, …),
- výskyt neošetřených výjimek v aplikaci (Yellow Screen of Death).
Webový plánovač činností
Navrhněte a implementujte webovou aplikaci, která umožňuje
uživatelům vytvářet, editovat a mazat činnosti, které by měli udělat. Dále
umožňuje jednoduchým způsobem plánovat denní rozvrh s ohledem na důležitost
těchto činností a označování již hotových činností.
Činnosti
Každá činnost má svoji prioritu (velmi důležité, důležité,
normální, nedůležité), jméno a popisek, popřípadě další doplňující vlastnosti
(podle vlastního uvážení). Dále je lze rozdělit na tzv. balvany a tmel.
-
Balvan je činnost s pevným časem (např.
návštěva ředitele v 13:30, nebo přednáška z kvantové mechaniky každé úterý od 14
do 16 hodin).
-
Tmel je činnost, která nemá pevně vymezený
čas, kdy má být prováděna, a je určena pouze časovou náročností anebo deadlinem
(např. každý všední den být 4 hodiny v práci nebo udělat do konce semestru
projekt s časovou náročností 30 hodin). Tuto činnost lze dělit do více časových
intervalů.
Funkcionalita
- S ohledem na bezpečnost a soukromí uchovávaných dat musí aplikace
zajistit registraci a přihlašování jednotlivých uživatelů.
- Každý uživatel může vkládat editovat a mazat činnosti. Může označovat
již hotové činnosti, popřípadě si u dlouhodobějších udržovat čas, kolik mu
ještě zbývá dodělat.
- Aplikace poskytuje uživateli přehled o hotových, částečně hotových a
nehotových činnostech, které může řadit podle jejich priority.
- Aplikace dovolí stránkovat seznam činností.
- Aplikace umí automaticky sestavit denní program z nehotových a částečně
hotových činností, a dovoluje uživatelům jeho ruční úpravu.
- Aplikace bude logovat (do souboru) všechny výjimky, které nastanou. V případě že se
výjimka dostane až k uživateli, bude uživatel informován o problému.
- Aplikace bude obsahovat tlačítko pro vymazání databáze, přidání
uživatele a několika činností. Na stejné stránce vypiště uživatelská jména a
hesla pro takto vytvořené uživatele.
Webová evidence
Navrhněte aplikaci pro evidenci knih/filmů/hudby v knihovně
a jejich výpůjčku uživateli. Tato výpůjčka je pouze do určitého data a může být
potvrzena pouze správcem a.k.a. knihovníkem.
Aplikace umožňuje evidované objekty rozdělit do kategorií. Aplikace dovoluje
jednoduše editovat seznam objektů i seznam kategorií a značek.
Evidovaná položka
- má název, obecný popisek, informaci o výpůjčce (datum návratu) a
případné další vlastnosti (autor, ISBN),
- má přiřazenu alespoň jednu kategorii,
- oblíbenost nebo hodnocení položky uživateli (např.: nehodnoceno, 1*, 2*,
3*, 4*, 5*),
- je možné uložit obrázek položky (nemusíte jej nahrávat celý do databáze,
stačí do souboru).
Funkcionalita
- Aplikace umožní registraci a přihlašování uživatelů a jejich rozdělení
(alespoň) na správce a běžné uživatele.
- Správce bude tvořit blokující prvek (ve smyslu elektronického dopisu
z 2. 4. 2011).
- Aplikace uživateli nabídne jen ty akce, které může provést, podle
toho zda je obyčejný uživatel, správce nebo není přihlášen vůbec.
- Aplikace bude vypisovat seznam
- kategorií,
- všech evidovaných položek,
- všech položek ve vybrané kategorii.
- Aplikace dovoluje zobrazený seznam prohledávat (filtrovat) a seřadit
seznam položek (alespoň podle 2 vlastností).
- Seznamy položek a jiné dlouhé seznamy bude možné stránkovat.
- Evidované položky a kategorie lze přidávat, upravovat a mazat, případně
provádět akce odpovídající druhu evidence a evidovaným položkám.
- Při odstranění kategorie se aplikace zachová inteligentně a nepokusí se
bez varování odstranit všechny položky.
- Aplikace bude logovat (do souboru) všechny výjimky, které nastanou. V případě že se
výjimka dostane až k uživateli, bude uživatel informován o problému.
- Aplikace bude obsahovat tlačítko pro vymazání databáze, přidání
vzorových uživatelů (správce a běžného uživatele), kategorií a několika
položek. Na stejné stránce vypiště uživatelská jména a hesla pro takto
vytvořené uživatele.
Webová RSS čtečka
- Navrhněte webovou RSS čtečku, která dovolí jednoduché a snadné
prohlížení a správu RSS kanálů.
- Čtečka dovoluje registrovat se k odběru RSS kanálů pomocí URI kanálu.
- Aplikace dovolí stažení a aktualizaci všech kanálů nebo jen vybraného.
- Aplikace si bude pamatovat a rozlišovat přečtené a nepřečtené články.
- Aplikace bude mít zabudovaný filtr nepřečtených položek.
- Aplikace umožní rozdělení kanálů do kategorií a dovolí správu těchto
kategorií.
- Aplikace umožní zobrazení seznamu:
- všech kanálů seskupených podle kategorie,
- všech článků,
- všech článků vybraného kanálu.
- Seznamy článků a jiné dlouhé seznamy bude možné stránkovat.
- Články budou implicitně řazeny chronologicky (uživatel může přepnout na
zobrazení podle názvu), kanály a kategorie podle
názvu.
- Export dat do OPML.
- Aplikace bude logovat (do souboru) všechny výjimky, které nastanou. V případě že se
výjimka dostane až k uživateli, bude uživatel informován o problému.