livesearch-service v1.0.0
How to run this project
Prerequisites
The following tools are required
Docker:
Visual Studio Code:
Building in Visual Studio Code
To have the project's TypeScript automatically compile when the file changes, press Command + Shift + B in Visual Studio Code. Otherwise, you'll have to run the 'tsc' command inside the folder each time you want your changes compiled.
Running in Visual Studio Code
Open the folder in Visual Studio Code, select the debug tab, and run one of the following launch configurations:
- Launch in Docker
- Run UNIT Tests
Launch in Docker:
This launch configuration will start up the service, accessible via port 3000, as well as enable remote debugging, accessible via port 9222. It will also monitor the source code directory for changes, recompiling on the fly and restarting the node runtime within the container.
Running from the CLI
To start a local server, without remote debugging enabled:
npm run compose:up
You should now be able to hit the service via http://localhost:3000.
To shutdown the service execute:
npm run compose:down
Remote Debugging
To start a local service, with remote debugging and the ability to edit code on the fly, execute:
npm run compose:dev
npm run watch
You should now be able to hit the service via http://localhost:3000. In addition, the inspector port is accessible via port 9222. Any changes to source will be reflected live in the running container.
To shutdown the service execute:
npm run compose:down:dev
INTEGRATION Tests
To execute INTEGRATION tests, execute:
npm run compose:test
SonarCloud
The plugin SonarLint is used optionally by developers who wish to catch code quality errors inline as they develop. For instructions on how to install the SonarLint plugin and configure it with their account can be found here:
https://transcore.jira.com/wiki/spaces/AD/pages/548208690/SonarCloud+Configuration+for+Developers
How to install type definitions for JavaScript libraries
TypeScript recently changed the official way of installing type definitions. See this blog post for information on the new way of getting types. Also checkout the site for searching available definitions.
6 years ago