Saturday-Sunday, 5 weeks (40 hours). Price: 450 leva.
Schedule & Enrollment
Course duration and schedule: Duration of the course is 54 study (40 astr.) hours total. Training will be conducted in multiple sessions 4 astr. hours each day.
- In depth understanding and practical experience building multi-tier web applications – front-end web UI frameworks, back-end service APIs, REpresentational State Transfer (REST), data repositories using SQL/ NoSQL databases.
- Implementing reusable presentation components using React.js framework.
- Practical experience with Functional Asynchronous Programming – using promises and observables, immutability.
- Details of developing JSON/ REST service APIs using Node.js and hapi.js.
- Ability to develop own full stack JS project using above technologies, and present the results.
The main topics that will be covered during the course include:
- Node.js server-side frameworks: introduction to hapi.js. N-tier architectores. JSON APIs. RESTful services and Service Oriented Architecture (SOA). Node.js frameworks. Modular, plugin-based, and configuration-centric architecture of hapi. Main components: servers, connections, routes, handlers and plugins. Installing hapi. Creating hello-hapi HTTP server and sample plugin. Paths and rooting – HTTP methods, path parameters, handler methods, configuration. Using plugins – inert to serve static content, good and good-console for logging, vision plugin for template rendering, etc. Writing and registering custom hapi plugins. Validation using joi. SQL and NoSQL database integrations with SQLite and MongoDB. (6 astr. h.)
- Building Single Page Applications (SPA) using React Router – routes and components, named components, route parameters, index route, links, index links. Nested routs – nested UI components and routing URLs. Active links. NavLink wrapper component. Decoupling the UI from the URL by using routes without paths. Using route redirection to preserve changed routes. Controlling navigation and application state using onEnter and onLeave hooks. Route patterns and optional route params. Simultaneous navigation in multiple viewports using named routing components. Histories – browserHistory vs. hashHistory. Server-side support needed when using HTML 5 History API. Navigating routes programmatically. Using custom History implementations – coding state as route query parameters. Configuring Router programmatically using RouteConfig objects and setting RouteLeaveHooks to validate navigation. (4 astr. h.)
- React.js advanced.. Using immutability, shouldComponentUpdate() component method, PureRenderMixin and shallowCompare() to boost performance. Immutability Helpers addon. Cloning ReactElements. Animation addon – ReactCSSTransitionGroup and ReactTransitionGroup. Testing react components with ReactTestUtils addon – events simulation, mocking, shallow rendering. (4 astr. h.)
- Wrapping up – developing React.js SPA end-to-end project (front-end + JSON /REST server API + database). Internationalization (i18n) and localization (l10n). (4 astr. h.)
- Final Test + Course Projects demonstration and discussion. (2 astr. h.)
The course contains 50% lecture materials and 50% lab exercises. Lectures and exercises will be conducted in parallel and will not be divided in separate sessions in order to achieve immediate reinforcement of theoretical discussions with practical examples and exercises.
At the end of the course participants are expected to develop their own small to medium sized full-stack application projects using Node.js, React.js, and SQL or NoSQL database of choice (e.g. SQLite or MongoDB). Each participant will be provided opportunity to demonstrate his/her project and receive feedback and ideas from the instructor and other students.
During the course there will be opportunity for discussion of additional questions the participants are interested in.
Viewing detailed program of the course in PDF format (in a new browser window) For more information and registration, please send us an e-mail at: firstname.lastname@example.org
Schedule & Enrollment