# tabnine-typescript-service

This is a template for creating nodejs typescript microservices.

Please change the description, and the above header after you cloned it.

## Structure

```
src/
  domains/ <- this is were most of the code should be, divided into domains
    {domain1}/
       {domain1}.router.ts
       {domain1}.spec.ts
       ... other domain1 related files and folders ...
    {domain2}/
       {domain2}.router.ts
       {domain2}.spec.ts
       ... other domain2 related files and folders ...
  app/ <- cross cutting concerns - app and test setup and utilities
  server.ts
```

## Test

```
yarn test
```

## Prettier

```
yarn prettier
yarn prettier:check
```

Consider configuring your editor to run prettier on save.

## Lint

```
yarn lint
yarn lint:fix
```

## development

Will run the server in development mode. Will reload upon code changes.

```
yarn dev
```

## Build and run for production

```
yarn build
yarn start
```

## Commit hook

If you choose, you can run the following command to fix your code (prettier and eslint) during commit

```
yarn prepare
```
