# crm-integration Integrate and customize CRM and ERP used by SimaSpace ### Setup 1. Run setup script : `npm run setup` This installs packages for server and client applications. Then builds docker image for database and starts container. Database name is `CrmIntegration`. Default username is `docker` and default password is `docker`. NOTE : If migration fails, try executing migrations manually with `npm run migrate` If everything works correctly, it is possible to connect to database with : `psql -d CrmIntegration -p 5432 -U docker -h localhost` 2. Copy `environment.env` file to `.env` file and make appropriate changes. `BASIC_AUTH_USERNAME` and `BASIC_AUTH_PASSWORD` are required for functional app. 3. Start server : `npm run start-server` 4. Start client : `npm run start-client` Open app on http://localhost:3000 NOTE : command `npm run check-booking-changes` will check for booking changes and create incidents (if needed) #### Heroku Scheduler Setup To setup booking change tracking, follow next steps : 1. Add `Heroku Scheduler` to your app (https://elements.heroku.com/addons/scheduler) 2. Open `Resources` tab 3. Select `Heroku Scheduler` 4. Click `Add Job`, tab on the right will open 5. Select interval and for command to execute, insert `npm run check-booking-changes` 6. Hit `Save Job` #### Useful NPM scripts There are few scripts to handle some operations faster, without copy-pasting commands to terminal 1. Build docker container : `npm run docker-build` If, for any reason, you need to build docker image, without running same image and migrations, use this script 2. Start docker container : `npm run docker-stop` This script starts docker container if it is already built 3. Stop docker container : `npm run docker-start` This script stops docker container 4. Execute migrations : `npm run migrate`