Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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;
- Host: GitHub
- URL: https://github.com/janluksoft/node_express_ts_controllers_async
- Owner: janluksoft
- License: mit
- Created: 2024-01-30T14:53:16.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-01-31T14:50:09.000Z (11 months ago)
- Last Synced: 2024-10-31T03:21:22.746Z (about 2 months ago)
- Topics: async-await, asynchronous, controllers, express, get-post-method, handlebars, hbs, node, nodejs, routing, typescript
- Language: TypeScript
- Homepage:
- Size: 165 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.