Informačné technológieInformation Technologies
Webová aplikácia v PHP s databázou cez PDO, čo je moderný a bezpečný prístup k dátam. Composer, Twig, REST API, testy.A PHP web application with a database through PDO, the modern and safe way to access data. Composer, Twig, REST API, testing.
TýždneWeeks
- 1Technológie, ktoré budeme používaťThe technologies we will use
- 2Dátový modelThe data model
- 3Kostra projektu a modelyProject skeleton and models
- 4Router a čisté URLRouter and clean URLs
- 5MVC: controller, view, request, responseMVC: controller, view, request, response
- 6Twig: šablóny a formuláreTwig: templates and forms
- 7Sessions a prihlásenieSessions and login
- 8Autorizácia a bezpečnosťAuthorization and security
- 9Transakcie, indexy, migrácieTransactions, indexes, migrations
- 10REST APIREST API
- 11Externé API a JavaScript fetchExternal APIs and JavaScript fetch
- 12Testy, nasadenie a dokumentáciaTesting, deployment and documentation
- 13Obhajoby a zápočetDefences and credit
Ako to fungujeHow it works
- Počas semestra vytvoríš vlastnú webovú aplikáciu. Tému si vyberieš na druhom cvičení. Na prednáške sa téma vysvetlí a ukáže na vzorovom projekte, na cvičení ju doplníš do vlastného projektu.
- Semestrálne zadanie je hotová aplikácia: databáza, prihlasovanie, formuláre, REST API, testy, dokumentácia. Vzniká postupne, každý týždeň nadväzuje na predchádzajúci.
- Kód píšeš vo VS Code v Kubeflow. Každé uloženie v editore ide na sigma.tuke.sk samo, súbory mimo editora (obrázky, súbory z terminálu) doplní Upload Folder. Odovzdávanie je commit a push cez GitHub, postup je v návode 04 Odovzdávanie.
- Štruktúra priečinkov vo webovom priestore na sigma.tuke.sk aj v Kubeflow:
it/cv01,it/cv02, … pre cvičenia ait/projektpre semestrálne zadanie. - Používanie AI je povolené. Výsledku musíš rozumieť a vedieť ho vysvetliť.
- During the semester you build your own web application. You pick the topic in the second lab. The lecture explains each topic and demonstrates it on a sample project; in the lab you add the same thing to your own project.
- The semester project is a complete application: database, login, forms, REST API, tests, documentation. It grows step by step; each week builds on the previous one.
- You write code in VS Code in Kubeflow. Every save in the editor goes to sigma.tuke.sk by itself; files outside the editor (images, files from the terminal) are added with Upload Folder. Submitting means commit and push through GitHub, see guide 04 Submitting.
- Folder structure in your web space on sigma.tuke.sk and in Kubeflow:
it/cv01,it/cv02, … for the labs andit/projektfor the semester project. - Using AI is allowed. You must understand the result and be able to explain it.
Podmienky absolvovaniaRequirements to pass
Zápočet: 30 bodov, minimum 16. Skúška: 70 bodov, minimum 36. Celkové hodnotenie podľa študijného poriadku TUKE.
Semestrálne zadanie vytváraš postupne počas semestra; jeho súčasťou sú štyri míľniky, každý s obhajobou.
Zápočet – 30 bodov
| Zložka | Body |
|---|---|
| Úlohy z cvičení (týždne 2–11, 1 bod za týždeň) — téma z prednášky doplnená do vlastného projektu, commit a push najneskôr do nasledujúceho cvičenia, hodnotí sa funkčný výsledok | 10 |
| Priebežná práca (4 míľniky × 2 body) — 2 body za míľnik získaš za commity aspoň v 4 rôznych dňoch medzi míľnikmi, so zmysluplnými popismi | 8 |
| Obhajoby míľnikov (4 × 3 body) | 12 |
| Spolu (minimum na zápočet: 16) | 30 |
Míľniky
Míľnik = aplikácia je v danom týždni umiestnená vo svojom webovom priestore na sigma.tuke.sk a funkčná v uvedenom rozsahu. Platí pre všetkých. Projekt má vlastný repository na GitHub a vo webovom priestore je v priečinku it/projekt.
| Míľnik | Čo musí fungovať | Týždeň |
|---|---|---|
| 1 | Vlastné tabuľky v databáze, modely, router a prvé stránky s výpisom záznamov. | 4 |
| 2 | Aplikácia v MVC s Twig šablónami, formulár na vkladanie, registrácia a prihlásenie. | 7 |
| 3 | Chránené stránky, validácia vstupov, sumárne štatistiky, REST API nad vlastnými dátami. | 10 |
| 4 | Kompletná aplikácia: dynamická stránka cez fetch, testy, zelený build na GitHub, README. | 12 |
Obhajoby
Obhajoba je krátka prezentácia a live coding pri vlastnom počítači, cca 5 minút: vysvetli (vybraný kus vlastného kódu riadok po riadku), uprav (malú zmenu zadanú na mieste urobíš naživo), zdôvodni (prečo je riešenie navrhnuté tak, ako je).
Každý míľnik obhajuje každý raz. Rozpis obhajob sa zverejňuje vopred; na každom cvičení obhajuje časť skupiny, takže obhajoby jedného míľnika bežia v týždňoch po ňom. Posledné obhajoby sú v 13. týždni.
Obhajuje sa aplikácia, ktorá je umiestnená vo svojom webovom priestore na sigma.tuke.sk a funkčná. Funkčnosť sa overuje v deň vlastnej obhajoby.
Náhradné termíny: ak sa obhajoby v pridelenom termíne nemôžeš zúčastniť, obhajuješ v ďalšom termíne toho istého míľnika — pri ospravedlnenej neúčasti za plné 3 body, inak za najviac 2 body. Náhradné termíny sú možné do dvoch týždňov od začiatku skúškového obdobia, keď sa podľa študijného poriadku uzatvárajú zápočty; termíny v skúškovom období budú vypísané v informačnom systéme MAIS a je potrebné sa na ne prihlásiť.
Splnený míľnik = commit + obhajoba. Obhajuje sa kód, ktorý je commitnutý v repository a umiestnený vo svojom webovom priestore na sigma.tuke.sk.
Skúška – 70 bodov
Skúška má dve časti:
- Časť A – zostavenie aplikácie (30 bodov), AI povolená. Dostaneš zadanie s parametrami (napr. dve tabuľky s vzťahom, prehľad, vkladanie, filter). Kód môže písať AI. Ty aplikáciu poskladáš tak, aby fungovala.
- Časť B – live úpravy (40 bodov), bez AI. Vo svojej aplikácii z časti A urobíš 4 zadané úpravy naživo, každá je za 10 bodov. Hodnotí sa, či úpravu vieš urobiť a vysvetliť.
Jazyk
Odborné pojmy sú v angličtine (repository, commit, push, request, response…), pri prvom výskyte sú vysvetlené. Materiály sú v slovenčine aj angličtine. Obhajoby aj skúšku môžeš robiť v slovenčine alebo angličtine, hodnotí sa porozumenie, nie jazyk.
Odovzdávanie a termíny
- Úlohy z cvičení sa robia na cvičení; commit a push najneskôr do nasledujúceho cvičenia. Ospravedlnené absencie sa riešia individuálne.
- Míľniky sú viazané na týždne semestra. Funkčnosť na sigma.tuke.sk sa overuje v deň vlastnej obhajoby.
Credit: 30 points, minimum 16. Exam: 70 points, minimum 36. Final grade according to TUKE study regulations.
You build the semester project gradually during the semester; it includes four milestones, each with a defence.
Credit – 30 points
| Component | Points |
|---|---|
| Lab tasks (weeks 2–11, 1 point per week) — the lecture topic added to your own project, commit and push by the next lab at the latest, graded on a working result | 10 |
| Continuous work (4 milestones × 2 points) — you earn 2 points per milestone for commits on at least 4 different days between milestones, with meaningful messages | 8 |
| Milestone defences (4 × 3 points) | 12 |
| Total (minimum for credit: 16) | 30 |
Milestones
Milestone = in that week the application is placed in your web space on sigma.tuke.sk and working to the stated extent. Applies to everyone. The project has its own repository on GitHub and lives in the it/projekt folder in your web space.
| Milestone | What must work | Week |
|---|---|---|
| 1 | Your own tables in the database, models, a router and the first pages listing records. | 4 |
| 2 | The application in MVC with Twig templates, an insert form, registration and login. | 7 |
| 3 | Protected pages, input validation, summary statistics, a REST API over your own data. | 10 |
| 4 | Complete application: a dynamic page using fetch, tests, a green build on GitHub, README. | 12 |
Defences
A defence is a short presentation and live coding at your own computer, about 5 minutes: explain (a selected piece of your own code, line by line), modify (make a small change assigned on the spot, live), justify (why the solution is designed the way it is).
Everyone defends every milestone once. The defence schedule is published in advance; in each lab a part of the group defends, so the defences of one milestone run in the weeks after it. The last defences are in week 13.
You defend an application that is placed in your web space on sigma.tuke.sk and working. Functionality is checked on the day of your own defence.
Substitute dates: if you cannot attend your assigned defence slot, you defend in a later slot of the same milestone — with an excused absence for the full 3 points, otherwise for at most 2 points. Substitute dates are available until two weeks after the start of the exam period, when credits are closed according to the study regulations; the dates in the exam period are published in the MAIS information system and you need to sign up for them.
A completed milestone = commit + defence. You defend code that is committed in the repository and placed in your web space on sigma.tuke.sk.
Exam – 70 points
The exam has two parts:
- Part A – building an application (30 points), AI allowed. You get an assignment with parameters (e.g. two related tables, a listing, inserting, a filter). AI may write the code. You put the application together so that it works.
- Part B – live changes (40 points), no AI. In your application from part A you make 4 assigned changes live, each worth 10 points. You are graded on whether you can make the change and explain it.
Language
Technical terms stay in English (repository, commit, push, request, response…) and are explained when they first appear. Materials are in Slovak and English. You may do the defences and the exam in Slovak or English; understanding is graded, not language.
Submission and deadlines
- Lab tasks are done in the lab; commit and push by the next lab at the latest. Excused absences are handled individually.
- Milestones are tied to semester weeks. Functionality on sigma.tuke.sk is checked on the day of your own defence.
Nástroje a návodyTools and guides
Všetko, čo predmet používa — VPN, GitHub, Kubeflow, sigma, Adminer — je aj s prihlasovacími údajmi a návodmi krok za krokom na jednom mieste: Návody a nástroje.
Everything this course uses — VPN, GitHub, Kubeflow, sigma, Adminer — including login details and step-by-step guides, is in one place: Guides and tools.