Fáze 2: Podklady ke kurzu

V této fázi rozšíříte aplikaci o možnost přidávat ke kurzům různé studijní podklady. Tyto podklady budou viditelné pro běžné uživatele na stránce konkrétního kurzu, takže si je mohou otevřít nebo stáhnout. Pochopitelně jsou spravovatelné lektorem, který musí mít možnost je přidávat, upravovat nebo mazat.

Typy podkladů

Podklady se dělí na dva hlavní typy – soubory a odkazy. Množství podkladů na kurz není nijak omezeno.

Soubor

  • Povinné údaje: název, krátký popis, nahraný soubor
  • Podporované formáty:
    • Dokumenty: .pdf, .docx, .txt
    • Obrázky: .png, .jpg, .jpeg, .gif
    • Videa: .mp4
    • Audio: .mp3
  • Omezení velikosti: max. 30 MB na jeden soubor
  • Pro uživatele: zobrazí se možnost ke stažení

Odkaz (URL)

  • Povinné údaje: název, adresa (URL), krátký popis
  • Automaticky se načte favicon cílové stránky (pokud je dostupná)
  • Pro uživatele: zobrazí se klikatelný odkaz s názvem, popisem a ikonou.

Umístění v aplikaci

Pro studenty: podklady se zobrazují v detailu kurzu, pod hlavními informacemi o kurzu.
Pro lektora: správa podkladů probíhá v sekci /dashboard → správa kurzů → detail kurzu
Zde lektor uvidí seznam všech podkladů a bude je moct přidávat, mazat a upravovat (tím je myšleno přejmenování a úprava parametrů podkladu)

Materiály by se měly zobrazovat v pořadí od nejnovějšího po nejstarší.

Technické poznámky

  • Každý podklad musí mít unikátní identifikátor, aby šel později upravit nebo smazat. V dnešní době doporučujeme použít UUID než klasické číselné ID.
  • Pokud lektor nahraje nepodporovaný formát nebo příliš velký soubor, API vrátí chybu 400 Bad Request.
  • API na nahrávání materiálů musí být přístupná pouze lektorům - tedy pokud by se normální uživatel pokusil nahrát podklad přes manuální request na endpoint, nemělo by to projít a vrátit 401 Unauthorized.