Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/janluksoft/node_express_ts_controllers_async

Node Express TS, asynch: uses GET, POST method. File division into router, controllers, views;
https://github.com/janluksoft/node_express_ts_controllers_async

async-await asynchronous controllers express get-post-method handlebars hbs node nodejs routing typescript

Last synced: 7 days ago
JSON representation

Node Express TS, asynch: uses GET, POST method. File division into router, controllers, views;

Awesome Lists containing this project

README

        

## The Node Express JS app with the controller structure

This web application demonstrates the use of GET and POST methods
by making browser requests to a node server and vice versa.

This application has:

- Express framework;
- TypeScript language;
- Asynchronous work of the application (async/await);
- Built-in middleware: express.static;
- Partials (layouts) of header, footer
- Hbs template engine;
- Helpers: [#each], [#if];
- Multi-page portal - switching from the menu;
- Request handling: Get, Post;
- Configured tsconfig.json file;
- Debug enabled on the node server side (.map files);
- Folder [disc] of compiled .js files;
- Division into files .ts structure in [src] folder:
- Server;
- App_hbs;
- Routers;
- Controller applications (POST method);
- Controller pages (GET method);
- Data class;

.
![](jpg/Node64Tb_3.png)

## Application operation

This application has a good file structure for separating tasks in the back-end: app, router, controllers.
Many websites are used in large web-apps. Handling multiple pages in one file - causes confusion and lack of order.
Therefore, tasks are divided into different folders and files. GET commands are handled by [\src\controllers\controller.pages.ts], POST by [src/controllers/controller.app.ts] and separation is handled by: [\src\routes\routerts.ts].

Pages are switched via the Get method. The router finds the correct EndPoint and based on it, renders the page to the browser. On Log page - the button sends login data to the Node server using the POST method. The server analyzes these login details. If the data is correct - the Node will return a table for display.