10. Interim Conclusion
Examples 01 through 28 have presented, one by one, all the concepts required by the case study:
Concept | Examples | In the case study |
controllers, actions, routing, redirects | 01 through 05 | folder [src/web/controllers] |
modules, services, dependency injection | 06 | [app.module.ts], [auth/auth.module.ts] |
action model, pipes, class-based validation | 07 through 12 | [web/models/person-form.dto.ts] |
views, template, partial views, helpers | 13 to 16 | folder [views], [web/views/handlebars-helpers.ts] |
forms, validation, redispatch | 17 to 19 | [web/helpers/form.helper.ts], [views/persons/form.hbs] |
Post / Redirect / Get, flash message | 20 | [web/view-context.ts] |
Links and buttons, confirmation window | 21 | [views/partials/confirmation.hbs], [public/js/app.js] |
Internationalization | 22 | [i18n/*.json], [web/i18n.ts], [language.controller.ts] |
Data Scopes | 23 | [web/application-model.service.ts], [res.locals], cookies |
middleware, guard, interceptor, filter | 24 | [web/view-context.ts], [web/view-user.interceptor.ts], [web/html-exception.filter.ts] |
JWT, roles, CAPTCHA, limitation | 25 to 27 | [src/auth] folder |
Web / Business / DAO, TypeORM, Transactions | 28 | files [business], [repositories], [entities] |
The case study brings them together into a complete, realistic-sized application (about sixty files, approximately 5,500 lines, including comments). It was written with the same care as the examples: each file begins with a comment explaining its role, and tricky sections are annotated in the code. The document’s commentary emphasizes what the examples did not show and refers to them for the rest.