\section{Tárgy bemutatása} \begin{frame}{Oktató} \footnotesize Üdvözlünk a \emph{Webtechnológia és webalkalmazás-fejlesztés} tárgy első óráján! Ezt a diasort úgy állítottuk össze, hogy akkor is jól követhető legyen, ha valaki lemaradt az óráról -- minden fogalmat igyekszünk a lehető legrészletesebben, magyarázó szöveggel is ellátni. \begin{block}{Elérhetőségek} \textbf{Magda Donát}, mérnökinformatikus BSc \begin{itemize} \item \textbf{E-mail:} magda.donat@sze.hu -- bármilyen kérdéssel, technikai problémával nyugodtan keress meg \item \textbf{Konzultáció:} előre egyeztetve, Google Meet -- ha személyesen szeretnéd átbeszélni a haladásodat \end{itemize} \end{block} \end{frame} \begin{frame}{Tantárgy célja} \footnotesize A tárgy célja, hogy végigjárjuk egy modern, Javascript/Node.js alapú backend rendszer felépítésének teljes útját: a nyers HTTP-kérések kezelésétől egészen egy biztonságos, adatbázissal és külső szolgáltatásokkal kommunikáló API-ig. \begin{itemize} \item Javascript alapú backend fejlesztés elsajátítása -- ugyanazt a nyelvet használjuk, mint amit sokan már a frontendről ismernek \item HTTP/HTTPS alapok, REST API-k és architekturális felépítések megértése \item Adatbázis-kezelés, ORM (Object-Relational Mapping) és a CQRS (Command Query Responsibility Segregation) megközelítés \item Authentikáció, authorizáció és külső szolgáltatások (pl. email küldés, cache) integrálása \item Gyakorlati tapasztalat egy önállóan futtatható backend rendszer elkészítésével \end{itemize} \begin{block}{Cél} Az alapoktól (HTTP, Node.js, csomagkezelés) egy teljes, biztonságos backend API-ig -- lépésről lépésre, minden héten egy újabb réteggel bővítve a tudásunkat. \end{block} \end{frame} \begin{frame}{Tematika -- 1-6. hét} \footnotesize Az első hat hét az alapozásról szól: megismerjük a HTTP protokollt, felépítünk egy REST API-t, és megtanuljuk, hogyan lehet azt egy adatbázissal összekötni. \begin{block}{} \begin{tabular}{ll} \textbf{1. hét} & Alapok, Node.js, HTTPS, NPM package manager \\ \textbf{2. hét} & REST API, architekturális felépítések, CQRS \\ \textbf{3. hét} & Express.js, Routing, Postman, TypeScript \\ \textbf{4. hét} & ORM, database connection, CRUD operations \\ \textbf{5. hét} & TypeORM, Aggregates, Repositories \\ \textbf{6. hét} & \textbf{ZH 1}: Database CRUD, ORM, CQRS + DTOs, Mappers \\ \end{tabular} \end{block} \end{frame} \begin{frame}{Tematika -- 6-13. hét} \footnotesize A második félidőben a biztonságra és a valós, éles rendszerekben elengedhetetlen kiegészítőkre fókuszálunk: bejelentkezés, jogosultságkezelés, emailküldés, teljesítmény. \begin{block}{} \begin{tabular}{ll} \textbf{7. hét} & AUTH, OUTH, OAUTH2 \\ \textbf{8. hét} & Session, JWT, Cookie \\ \textbf{9. hét} & Hash, Middleware, Services \\ \textbf{10. hét} & Email sending, Templating \\ \textbf{11. hét} & Dependency Injection, Logging \\ \textbf{12. hét} & CORS, Redis, External API \\ \textbf{13. hét} & Gyakorlás -- teljes API írása (\textbf{NAGY ZH}) \\ \end{tabular} \end{block} \end{frame} \begin{frame}{Teljesítés} \footnotesize A tárgyat két zárthelyi dolgozat (ZH) alapján teljesítjük. A pontszámok összeadódnak, és az alábbi táblázat szerint alakul belőlük az érdemjegy: \begin{block}{Pontszámítás} \begin{tabular}{|c|c|} \hline \textbf{Jegy} & \textbf{Pont} \\ \hline 1 & 0--50 \\ 2 & 51--62 \\ 3 & 63--74 \\ 4 & 75--86 \\ 5 & 87--100 \\ \hline \end{tabular} \end{block} \begin{alertblock}{Megajánlott jegy} Megajánlott jegy ZH pontokból szerezhető, mely a vizsga pontozásával megegyezően kerül értékelésre -- vagyis ha a féléves munkád elég jó, a vizsgaidőszakban nem kell feltétlenül vizsgáznod. \end{alertblock} \end{frame}