This microservice was generated using the Albatross Generator for the documents project.
Navigate to the api-docs page to view the Swagger page for this service!
Running this microservice on your local environment is easy. You will need to install npm first, which you can download from here: https://www.npmjs.com/get-npm.
Once you have npm installed:
- Open a terminal at the project location.
- Enter "npm install" - this will install all project dependencies (initially done during generation).
- Enter "npm start".
- Navigate to localhost:8080/healthcheck - you'll see the "Success" response.
Now that you are able to launch the microservice, you'll probably want to configure it for your project.
Routes are located under app/routes/<file name>.api.ts
Group your related routes in a routes file inside the app/routes folder. Albatross will insert a default.api.ts route file upon generation of the microservice with standard routes already included and ready to test. Feel free to modify this file as necessary for your project.
Services are located under apps/services/<file name>.service.ts
.
Service files are used to encapsulate the "business" functionality of your microservice through their exported functions. Any functions not called directly by any route should be declared private and not exported from within the service file.
Each microservice comes included with the appdynamics package. Please review the information below if you wish to utilize AppDynamics for your microservice.
AppDynamics is enabled within the apps/server.ts file, and uses the configuration values stored in the config/app-dynamics.config.ts configuration file.
Several configuration properties must be set, and most of these should have corresponding environment variables set in the vault. There are a few properties which must be customized for each micro-service: tierName, nodeName, and reuseNodePrefix should all be set equal to a string that uniquely identifies your project such as 'hello-world-ms'. A list of the properties, some typical vaules, and descriptions is below.
appdynamics.profile({ debug: true controllerHostName: 'server.domain.com' // Visit this URL to view metrics controllerPort: 443 controllerSslEnabled: true accountName: 'some-string' // Get this from appdynamics vendor accountAccessKey: 'some-string' // Get this from appdynamics vendor applicationName: 'application-DEV' // Identifies an environment or set of services working together tierName: 'service-name' // Identifies the type of service. Probably use repository name nodeName: 'service-name' // Identifies an instance/container/pod of the service. Can be same as tierName reuseNode: true reuseNodePrefix: 'service-name' //Can be same as nodeName and tierName libagent: true });
Each microservice will have a /healthcheck
endpoint
Description coming soon!
This microservice base is open to accepting pull requests. If you come across something that can improve the architecture or packages used, plesae create a separate branch from 'development', make your updates, and create a pull request against 'development'. Thanks!