# Development Environment Setup Instructions Use this document to setup the k811 project locally ## 1. Install prerequisites 1. Docker and docker-compose 2. Node.js 16.x ## 2. Setup env files Add the following files to the respective locations 1. `backend-monorepo/.env` ```bash= NODE_ENV=development# supported values: development, production API_HOST=localhost# Remove this on the production as the pods will have their own service names as api hosts APM_ENV=local MONGODB_NAME=k8 MONGODB_USER=swn-poc MONGODB_PASSWORD=swn-poc1234 MONGODB_HOST=0.0.0.0 MONGODB_PORT=27017 MONGODB_PROTOCOL=mongodb AMQP_PROTOCOL=amqp AMQP_USERNAME=guest AMQP_PASSWORD=guest AMQP_HOST=127.0.0.1 AMQP_PORT=5672 AMQP_VHOST=/ AMQP_HEARTBEAT=600 DIRECTUS_URL=https://directus.uat.wyreless.org DIRECTUS_TOKEN=R15MNSNyuuaRPs2sy6rTRs9hhNDkKAyz DIRECTUS_EMAIL=admin@example.com DIRECTUS_PASSWORD=asdasdasdasdasdasdasd INFOBIP_API_KEY=asdasdasdasdasdasdasdas NETCORE_API_KEY=1234567890asdfghjkl NETCORE_FROM_EMAIL=test@test.com MOCK_SERVER_HOST=localhost# This becomes 'mock-server' on production MOCK_API_PORT=5000# Remove this port on the production as the pods will be using 3000 (API_PORT) port only MOCK_API=true MOCK_INFOBIP=true MOCK_NETCORE=true MOCK_NAMEMATCHER=true MOCK_AADHAARVAULT=true MOCK_CKYC=true MOCK_NCIF=true MOCK_KOTAKCIBILBRE=true MOCK_KOTAKCVV=true MOCK_KOTAKKRA=true MOCK_KOTAKCSM=true MOCK_KOTAKDCMS=true MOCK_KOTAKAPI=true MOCK_KOTAKUPI=true MOCK_PAN=true MOCK_LOCALDB=true MOCK_TMX=true MOCK_OTP=true MOCK_KOTAK_DCMS=true MOCK_VKYC=true MOCK_WHATSAPP=true API_PORT=3000 API_CONTROLLER_PORT_NUMBER=3121# Remove all these service ports on the production as the pods will be using 3000 (API_PORT) port only ADMIN_SERVICE_PORT_NUMBER=5001 AADHAAR_VAULT_PORT_NUMBER=7013 LEAD_SERVICE_PORT_NUMBER=7014 CKYC_PORT_NUMBER=7015 EMAIL_PORT_NUMBER=7016 KOTAKAPI_PORT_NUMBER=7017 KOTAK_CIBIL_PORT_NUMBER=7018 KOTAK_CSM_PORT_NUMBER=7019 KOTAK_CVV_PORT_NUMBER=7020 KOTAK_DCMS_PORT_NUMBER=7021 KOTAK_KRA_PORT_NUMBER=7022 KOTAK_UPI_PORT_NUMBER=7023 LOCAL_DB_PORT_NUMBER=7024 NAME_CHECK_PORT_NUMBER=7025 NCIF_PORT_NUMBER=7026 OTP_PORT_NUMBER=7027 PAN_PORT_NUMBER=7028 SMS_PORT_NUMBER=7029 TMX_PORT_NUMBER=7030 WHATSAPP_PORT_NUMBER=7031 PRODUCT_DECISIONING_SERVICE_PORT_NUMBER=7050 DEBIT_CARD_SERVICE_PORT_NUMBER=7032 KYC_LEAD_SERVICE_PORT_NUMBER=7033 VKYC_PORT_NUMBER=7034 AADHAAR_CHECKSUMKEY=865743032701 AADHAAR_CHANNEL_ID=8111 AADHAAR_CHANNEL_NAME=811OTP VENDOR_ID=INT LOG_LOCATION=/var/log/k811 APM_SERVER_URL=http://localhost:8200 SESSION_SECRET=YJ&g4fqcoOu5Y}q SESSION_MAX_AGE=259200000000 COOKIE_ALLOWED_DOMAINS=localhost CORS_ALLOWED_ORIGINS=http://localhost:3000 COOKIE_IS_SECURE_SETTING=false COOKIE_SAME_SITE_SETTING=lax CAPTCHA_REQUEST_TIME_FRAME_SECONDS=3600 CAPTCHA_REQUEST_NUM_HITS=5 CAPTCHA_SECRET_KEY=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe TRACKING_NUMBER_PREFIX=KC TRACKING_NUMBER_START=10000000 PROSPECT_ID_START=2000000 KYC_TRACKING_NUMBER_PREFIX=VC KYC_TRACKING_NUMBER_START=100000 KYC_PROSPECT_ID_START=200000 OTP_EXPIRY_TIME_SECONDS=30 MMI_URL=https://apis.mapmyindia.com/advancedmaps/v1 MMI_SECRET=1231wedasdasd MMI_KEY=rev_geocode DISABLE_KYC_BROWSER_CHECK=true #Product decisioning service config SLEEP_TIME=2000 SITE_NAME_FOR_CIBIL=KOTAK ACCOUNT_NAME_FOR_CIBIL=GCVD_KOTAK ACCOUNT_CODE_FOR_CIBIL=R0NWRF9LT1RBSw== SRCAPPCD=MWF ENCRYPTION_ALGORITHM=aes-192-cbc ENCRYPTION_KEY=pomndpwierodncmfhsaentds SCORE_LOWER_LIMTI=700 NO_OF_DAY_CIBIL_VALID=45 USCC_JOINING_FEE=400 USCC_ANNUAL_FEE=600 DEFAULT_CREDIT_LIMIT=10000 CIBIL_FULL_FILL_OFFER_API_URL=https://10.240.20.225:9906/FulFillOffer CIBIL_FULL_GET_ASSET_API_URL=https://10.240.20.225:9906/GetCustAssets CIBIL_FULL_BRE_API_URL=https://10.240.20.225:9360/CC #Mock pds apis MOCK_FULLFILL_OFFER=true MOCK_CUST_ASSET=true MOCK_BRE=true CIBIL_CONSENT_MOCK=true MOCK_CIBIL_SCORE=true MOCK_COMPANY_MASTER_LIST=true MOCK_SUBMIT_APP=true ``` 2. `customer-onboarding/.env.local` ```bash= NEXT_PUBLIC_CMS_API_URL=https://directus.uat.wyreless.org NEXT_PUBLIC_API_URL=http://localhost:3121 NEXT_PUBLIC_ELASTIC_APM_SERVER_URL=http://localhost:8200 NEXT_PUBLIC_RECAPTCHA_ID=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI NEXT_PUBLIC_ELASTIC_APM_ENV=local NEXT_PUBLIC_DISABLE_AUTO_ROUTING=false ``` ## 3. Start docker containers 1. cd into project root 2. run `docker-compose up` > You can comment out all the monitoring containers in the docker-compose.yml. > > You only need **mongodb** and **rabbitMQ** to work locally ## 4. Start UI server 1. Ensure you've added the above env file to the `customer-onboarding` project 2. `cd customer-onboarding` 3. Install dependencies `yarn` 4. Run in development mode `yarn run dev` ## 5. Start backend services 1. Ensure you've added the backend env file to the `backend-monorepo` project 2. `cd backend-monorepo` 3. Install dependencies `yarn` 4. Start all microservices `yarn run start`