2.1.2 • Published 1 year ago

vetscan-fuse-vetxml-simulator v2.1.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

vetscan-fuse-vetxml-simulator

API simulator for Fuse VetXML

Docker Setup

  1. Copy .env.example to .env
  2. Create the external network if it doesn't exist docker network create vetscan-cloud-network
  3. Run docker-compose up

Manual Setup

Install dependencies

npm install

Run locally:

npm run dev

Database

This app depends on postgres. For development, a docker configuration has been provided.

Migrations

We use the knex module for migrations. Once you start the application, the migrations run automatically.

In case you would like to run the migrations manually:

npm knex migrate:latest

to run migrations

npx knex migrate:down

to rollback one migration. And

npx knex migrate:make migration_name

to create a new migration. You can see more in the module's documentation.

Development workflow

See the Vetscan Cloud (git workflow)https://github.com/ZoetisDenmark/vetscan-cloud#git-workflow.

Database for development locally

To create the database (this will run a docker container with postgres and the database structure based on the db.sql script):

npm run create-db

To start the database once it is created just run:

npm run start-db

To stop the database once it is created just run:

npm run stop-db

To delete the database once it is created just run:

npm run delete-db

API Documentation

To update the API documentation, modify the apidocs/api.yaml file following the OpenAPI Specification version 3.0.2.

To visualize the API Documentation run the serve-docs script or use any OpenAPI 3 compatible tool, for example Swagger editor.

npm run serve-docs

To generate a static HTML file of the documentation:

npm run bundle-docs

API Development Environment

To integrate the API specification with Postman or a similar environment, it must support OpenAPI 3.0.0. Postman allows to import the specification file apidocs/api.yaml.

Running

Compile the code and run in one command:

npm start

This command runs both npx tsc (to compile the code) and node dist/index.js (to run).

Deployment

The service is running as an App Service on azure on the mhe@smb.dk account, the name of the app service instance is vetxmlapi. The app gets deployed automatically from the develop branch and it's accessible at https://vetxmlapi.azurewebsites.net

In azure you can access logs, restart and stop the app.