# HMS server-side code ## Get Started Get started developing... ```shell # install deps npm install # run in development mode npm run dev # run tests npm run test ``` ## PLEASE READ THIS WHEN ADDING YOUR PART TO SERVER There are two key files that enable you to customize and describe your API: 1. `server/routes.js` - This references the implementation of all of your routes. Add as many routes as you like and point each route your express handler functions. 2. `server/common/api.yaml` - This file contains your [OpenAPI spec](https://swagger.io/specification/). Describe your API here. It's recommended that you to declare any and all validation logic in this YAML. `express-no-stress-typescript` uses [express-openapi-validator](https://github.com/cdimascio/express-openapi-validator) to automatically handle all API validation based on what you've defined in the spec. ## Install Dependencies Install all package dependencies (one time operation) ```shell npm install ``` ## Run It #### Run in *development* mode: Runs the application is development mode. Should not be used in production ```shell npm run dev ``` or debug it ```shell npm run dev:debug ``` #### Run in *production* mode: Compiles the application and starts it in production production mode. ```shell npm run compile npm start ``` ## Test It Run the Mocha unit tests ```shell npm test ``` or debug them ```shell npm run test:debug ``` ## Try It * Open your browser to [http://localhost:3001](http://localhost:3001) * Invoke the `/examples` endpoint ```shell curl http://localhost:3001/api/v1/examples ``` ## Debug It #### Debug the server: ``` npm run dev:debug ``` #### Debug Tests ``` npm run test:debug ``` #### Debug with VSCode Add these [contents](https://github.com/cdimascio/generator-express-no-stress/blob/next/assets/.vscode/launch.json) to your `.vscode/launch.json` file ## Lint It View prettier linter output ``` npm run lint ``` Fix all prettier linter errors ``` npm run lint ``` ## Deploy It Deploy to CloudFoundry ```shell cf push server ```