Project Assignment - nvbach91/4IZ278-2020-2021-LS GitHub Wiki
Info k semestrální práci
- Semestrální práci vypracujte samostatně.
- Maximální počet bodů: 50
Podrobný popis návrhu projektu
- 2+ strany A4 v PDF nebo Markdown (přímo do textu Issue)
- stručný popis aplikace
- popis funkcionality
- wireframe jednotlivých stránek, výčet stránek
- architektura
- typ webového serveru
- typ rozhraní na back-endu
- technologie na front-endu
- návrhový vzor na backendu
- způsob komunikace mezi databází, serverem a klientem
- konceptuální návrh databáze - relační schéma databáze: logický + fyzický model databáze
- pošlete do Issues, název Issue
sp-xname
- deadline pro zaslání návrhu je 2021-04-18
- deadline znamená, že pokud to nestihnete, rovnou dostanete známku nedostatečně
Doporučená "komerčnější" témata:
- E-shop (auta, elektro, výpočetní technika, stavebniny, zahradnictví, knihkupectví, hudebniny, sportovní pomůcky, nábytek, oblečení, ...),
- Prodej vstupenek na veřejné události (koncerty, divadla, semináře, konference, festivaly, zápasy, ...),
- Nabídky nemovitostí (realitní kancelář, pronájmy, ...),
- Plánování schůzek (lékařské konzultace, kadeřnictví, bankovní poradce, psychoterapeuti, ...),
- Vyhledávání místních služeb (restaurace, obchody, kadeřnictví, hotely, doprava, posilovny, ...),
- Dobročinné aktivity (podpora chudoby, nezaměstnanosti, přírodní katastrofy, bezdomovectví, sirotčince, ...),
- Sledování politických událostí (podle státu) v podobě fóra nebo příspěvků,
- Prodej jízdenek na vlak + jízdní řád,
- Hypoteční banky a pojišťovny,
- Elektronické bankovnictví,
- Vyhledávání vzdělávání - kurzy, školy, univerzity, ...
- ...
Doporučená herní témata:
Lodě online - toto téma nebude akceptováno- Šachy, Go, Xiangqi, Shogi online
- Poker online
- Sudoku online
- Monopoly online
Doporučená "techničtější" témata
- Bezpečnostní analýza - kryptoanalýza, šifrování, hašhování, bezpečnostní útoky, ...
- Dolování znalostí z dat,
- Generování a editace životopisů.
Doporučená "vědečtější" témata za bonus:
- Analýza otevřených propojených dat (Linked Open Data) na sémantickém webu. Např. data veřejné správy https://www.hackujstat.cz/.
- Znalostní báze založená na otevřených propojených datech, ontologiích, atd.
- Analýza virtuálních měn a block chainu.
- Analýza publikačních propojených dat.
- Analýza dat z Wikidata nebo DBPedia.
- Annotace textu s použitím NLP + sémantických technologií, např. https://www.dbpedia-spotlight.org/demo/
Požadavky a omezení
- Semestrálka musí být vypracována bez jakýchkoliv funkčních šablon (např. shoptet, wix, ...).
- PHP frameworky jako Laravel a front-endové knihovny jako Bootstrap, jQuery lze použít.
- Veškeré funkcionality musí být naimplementovány jeho řešiteli.
Doporučení pro samostatnou práci:
- Nadefinujte si seznam funkčních požadavků a celkovou architekturu projektu.
- Udělejte rozpad projektu na jednotlivé úlohy a deadliny a pokuste se je dodržet.
- Zaveďte si záznam všech aktivit v projektu.
- Projekt průběžně ukládejte pomocí Gitu.
- Průběžně konzultovat projekt se cvičícím, lze využít možnost komentování v Pull Requestu.
- Pokud nebudete chtít/stíhat chodit na cvika, podívejte se na PHP video tutoriály na YouTube doma a skutečně si to vyzkoušejte na vlastní kůži.
Základní požadavky pro SP
- viz stránky předmětu: http://4iz278.github.io/zakonceni/aplikace/
Základní technické a funkční požadavky:
- Frontend: HTML5, CSS3, JavaScript
- Jazyk na backendu: PHP 7/8
- Databáze: MySQL
- Backend v PHP musí být napsán s OOP přístupem, kde to dává smysl
- Projekt lze koncipovat jako RESTful API + samostatný AJAX frontend
- Lze používat frameworky, nástroje a knihovny jako Laravel, Netter, CodeIgniter, Symphony, Zend, ... (např. ke tvorbě REST API, routování, ...)
- Vhodná implementace návrhového vzoru např. MVC
- Implementace uživatelských účtů, autentizace, OAuth
- CRUD operace (POST, GET, PUT/PATCH, DELETE)
- Posílání e-mailu
- SEO URL - url musí být SEO-friendly
Způsob odevzdání
- SP se odevzdává přímo do tohoto repozitáře přes Pull Request stejně jako u domácích úkolů viz návod.
- Žádný jiný způsob odevzdání prací nebude akceptován.
Termín pro odevzdání pilotní verze SP na GitHub
- termín do konce semestru, tj. poslední výukový týden
- pilotní verze musí mít hovotou alespoň strukturu souborů a složek a nějaký zárodek kódu, např. připojení k DB, založená schémata databáze, OOP třídy pro práci s databází, homepage, ...
- další verze/úpravy se nahrávají přímo do stávajícího Pull Requestu
Termín pro odevzdání finální verze SP na GitHub
- po odevzdání pilotní verze mají studenti čas k doladění projektu až do 48h před začátkem termínu obhajoby
- hotový projekt musíte odevzdat k vyhodnocení alespoň 48h před zahájením obhajoby
Pozn. Obhajoby projektů proběhnou ve zkouškovém období. Na konkrétní termíny obhajob se studenti přihlášejí skze studijní informační systém. V případě, že autor projektu při obhajobě nebude schopen adekvátně reagovat na otázky vyučujícího, má vyučující právo dle svého uvážení snížit počet bodů z jednotlivých kategorií až na 0, a to i v případě, že se bude jednat o kvalitní projekt.