The backend of the alphanumeric string retrieval example follows established ExpressJS patterns and does not deviate much. The backend itself is written in TypeScript, as I believe that node APIs benefit greatly from establishing data structures and maintaining type safety throughout.
A configuration file is put in place to allow for the application to behave differently if run in development
, staging
, testing
, or production
modes.
The application is bootstrapped in src/app.ts
, which in turn initiates the application routes, found in src/routes.ts
. The routes each call a controller, which handles the routing and determines the response of various calls to the API.
A basic ErrorLog
and Log
are established will log all incoming requests (except for GET
and OPTIONS
, as those are typically unnecessary for logging, except for the case of debugging performance problems). The important route, found in src/controllers/alpha.ts
simply returns the requested string immediately.
Controller route functions all call the next()
parameter, which will pass errors to a global error handler, found in server.ts
. This will log all uncaught exceptions, and can be used for future debugging.