Our whole Node.js backend stack consists of the following tools:
- @{Lerna}|tool:6207| as a tool for multi package and multi repository management
- @{npm}|tool:1120| as package manager
- @{NestJS}|tool:8747| as @{Node.js}|tool:1011| framework
- @{TypeScript}|tool:1612| as programming language
- @{ExpressJS}|tool:1163| as web server
- @{Swagger UI}|tool:3417| for visualizing and interacting with the API’s resources
- @{Postman}|tool:1336| as a tool for API development
- @{TypeORM}|tool:7419| as object relational mapping layer
- @{JSON Web Token}|tool:6417| for access token management
The main reason we have chosen Node.js over PHP is related to the following artifacts:
- Made for the web and widely in use: @{Node.js}|tool:1011| is a software platform for developing server-side network services. Well-known projects that rely on @{Node.js}|tool:1011| include the blogging software Ghost, the project management tool Trello and the operating system WebOS. @{Node.js}|tool:1011| requires the @{JavaScript}|tool:1209| runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies @{Node.js}|tool:1011| especially for the operation of a web server. Ryan Dahl, the developer of @{Node.js}|tool:1011|, released the first stable version on May 27, 2009. He developed @{Node.js}|tool:1011| out of dissatisfaction with the possibilities that @{JavaScript}|tool:1209| offered at the time. The basic functionality of @{Node.js}|tool:1011| has been mapped with @{JavaScript}|tool:1209| since the first version, which can be expanded with a large number of different modules. The current package managers (@{npm}|tool:1120| or @{Yarn}|tool:5848|) for @{Node.js}|tool:1011| know more than 1,000,000 of these modules.
- Fast server-side solutions: @{Node.js}|tool:1011| adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within @{JavaScript}|tool:1209|/@{TypeScript}|tool:1612|, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
- A language along the entire stack: Widely used frameworks such as @{React}|tool:1020| or @{AngularJS}|tool:1019| or @{Vue.js}|tool:3837|, which we prefer, are written in @{JavaScript}|tool:1209|/@{TypeScript}|tool:1612|. If @{Node.js}|tool:1011| is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
- Flexibility: @{Node.js}|tool:1011| sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
0 views0














