čtvrtek 7. května 2009

Květnová Online dílna GUG.CZ: Galerie navštívených míst

Dílnu pořádáme ve spolupráci s pracovním serverem Agentka.cz a jejím technickým ředitelem Radimem Ballnerem. Pomoc s řešením dílny určitě získáte na naší přednášce na zpřízněné téma, kterou pořádáme 18. května v Praze.
... Pokračování

Vaším úkolem pro tuto online dílnu bude pomocí Google Maps vytvořit webovou aplikaci, která bude sloužit jako galerie obrazků míst, která jste navštívili. Zadání má dvě varianty:
  1. LIGHT verze (bez backendu s natvrdo zakódovanými údaji)
  2. FULL verze (s administračním rozhraním)
Pro účely dílny stačí poslat Radimovi řešení Light verze. Z řešitelů Light verze vybereme 3 nejlepší řešení a odměníme, samozřejmě i náležitě vítěze a jejich projekty zpropagujeme.
Řešitelé Full verze získají malou odměnu všichni. Zároveň chceme odměnit nejlepšího řešitele Full verze i něčím menším navíc, takže když už máme v logu květnové dílny pejska a kočičku jak vaří, tak vás pozveme na dobrý oběd spolu s některým ze seniorních vývojářů přímo z Google (zatím to vypadá na Chewyho Trewhellu), který vám bude k dispozici pro libovolné technické konzultace či porady s vaším projektem či nápadem, a na závěrečnou kávu vás pak pozveme do Googlí kanceláře v Praze ;)

Základní společné požadavky

Úvodní stránka aplikace zobrazí mapu, na které budou označená místa (pomocí markeru ve tvaru vlaječky), pro která jste nahráli nějaké fotky. Při kliknutí na vlaječku se na mapě otevře standardní informační okno Google maps, které bude obsahovat textový popisek místa a náhledy obrázků, které se k tomuto místu vážou. Po kliknutí na náhled obrázku, se obrázek otevře v plné velikosti v novém okně.

Funkční požadavky - Light verze

Lehká verze je celá v javascriptu a všechna data jsou napsána přímo v aplikaci "natvrdo" a nelze je přidávat přes webové rozhraní. To znamená, že geografická data (longitude, latitude) získáte předem pomocí nějakého geo coderu (např. toho od Google) a napíšete je jako konstanty přímo do javascriptu. Fotky uložíte na svůj web i s náhledy (a nebo můžete využít existující službu, např. http://www.flickr.com) a jejich url také uložíte jako konstanty přímo do aplikace.

Funkční požadavky - Full verze

Nahrávání fotek se bude provádět v administračním nástroji - pro tento příklad není potřeba řešit autentikaci ani autorizaci. Na úvodní stránce administračního rozhraní se zobrazí seznam lokací, které jste vytvořili a link na vytvoření nové lokace. Formulář pro vytvoření nové lokace bude mít následující položky:
  • Jmébo lokace
  • Popis lokace
  • Adresa lokace (ulice + číslo popisné, město, PSČ, stát)
V seznamu lokací na úvodní stránce budou u každé položky následující akce:
  • nahrát obrázek - vede na formulář s následujícími políčky: název fotky, upload fotky
  • smazat obrázek - vede na seznam fotek, které se vážou s danou lokací, a kde u každé fotky je možnost ji smazat
  • upravit lokaci - formulář totožný s formulářem pro vytvoření lokace
  • smazat lokaci

Co si tím vyzkoušíte

  • Práci s Google Maps
  • GeoCoding

Tipy k implementaci

  • Pro vytvoření backendu použijte jakýkoliv vhodný programovací jazyk (PHP, VB, C#, Ruby, ....)
  • Data ukládejte do databáze dle vlastního výběru (MySQL, PostgreSQL, MS SQL, ...)
  • Google Maps API umí téměř vše, co budete potřebovat na straně Javascriptu.
  • Pokud přijdete na Radimovu přednášku, tak se dozvíte informace, které vám pomohou při implementaci
  • Pokud nechcete vytvářet separátní administrační rozhraní, tak může administraci zabudovat přímo do "veřejné časti" webu.
Pro odevzdání musí být do konce května dodány Radimovi na adresu radim@agentka.cz zazipované zdrojové kódy (včetně DB) a aplikace musí běžet na veřejné adrese.

Hodnotí se kvalita kódu, krása a funkčnost výsledné aplikace.

2 komentáře:

ah01 řekl(a)...

Přehlédl jsem to nebo v článku chybí, do kdy je třeba aplikaci odevzdat?

Janek řekl(a)...

Omlouvám se, už jsem to doplnil, květnová dílna končí s koncem května.