\section{Visszatekintés} \begin{frame}{Miről volt szó múlt héten?} \footnotesize Az első héten megismertük a webes kommunikáció alapjait: a HTTP protokollt, a Node.js futtatókörnyezetet, és elindítottunk egy egyszerű szervert a beépített \texttt{http} modullal. Emellett megtanultuk, hogyan kezeljük npm-mel a projekt függőségeit. \begin{itemize} \item \textbf{HTTP:} Request-Response modell, metódusok (GET, POST, PUT, PATCH, DELETE), státuszkódok \item \textbf{Node.js:} \texttt{http.createServer} -- egy függvény, ami minden kérést kiszolgál \item \textbf{npm:} \texttt{package.json}, csomagok telepítése, \texttt{npm scripts} \end{itemize} \begin{block}{A hiányzó darab} A nyers \texttt{http} modullal minden egyes útvonalat, minden HTTP metódust és a kérés törzsének feldolgozását is kézzel, \texttt{if-else} ágakkal kellene megírnunk. Ez pár végpontnál még kezelhető, de gyorsan átláthatatlanná válik. \end{block} \end{frame} \begin{frame}{Mi a célja a mai órának?} \footnotesize A mai órán egy valódi keretrendszert vezetünk be, amivel a múlt heti kézi munkát nagyrészt kiváltjuk, majd megtanuljuk, hogyan teszteljük és hogyan típusozzuk a kódunkat. \begin{itemize} \item \textbf{Express.js} -- a legelterjedtebb Node.js webes keretrendszer, ami elveszi a routing és a kérésfeldolgozás nagy részének terhét \item \textbf{Routing} -- hogyan szervezzük az útvonalainkat, hogyan olvassuk ki a kérés adatait \item \textbf{Postman} -- hogyan teszteljük a saját API-nkat anélkül, hogy frontendet kellene hozzá írnunk \item \textbf{TypeScript} -- hogyan adjunk típusbiztonságot a JavaScript kódunkhoz \end{itemize} \begin{alertblock}{Fontos} Ma még mindig egyszerű, tárolás nélküli (memóriában tartott) példákkal dolgozunk -- az adatbázis-kapcsolat csak a 4. héten kerül képbe. Most a keretrendszerre és az eszközökre fókuszálunk. \end{alertblock} \end{frame}