# How to launch the App ## Requirements - NET .Core framework - PostgreSQL database - Node.JS - Discord server with API keys - Alchemy Keys # First setup ## Generate dev certificate - ```dotnet dev-certs https -ep \.aspnet\https\aspnetapp.pfx -p password``` - ```dotnet dev-certs https --trust``` ## Setup docker - Update ```apps\src\Managing.Api\appsettings.MYNAME.json``` with your configuration settings - Update ```apps\src\Managing.Api.Workers\appsettings.MYNAME.json``` with your configuration settings - Then execute from the root of the project : ```.\scripts\docker-deploy-sandbox.cmd``` - At this point, only Managing.Api.Workers should be NOT running. It because we didn't create an account. ## Setup an account - ```cd src/Managing.WebApp``` - ```npm run dev``` - Go to front-end app ```http://localhost:3000/``` - If request end up with a 500 error, you should open the url of the container and validate the certificate. - Connect your ETH account - Setup a username for your account - On Account page : Create an EVM account for trading (Not necessary if you don't want to trade) ## Setup InfluxDb - Go to http://localhost:8086/ - Then initialize InfluxDb ![InfluxDb setup](assets/img/doc-influxdb.png) - Go to api keys ![InfluxDb Api](assets/img/doc-influxdb-apikeys-1.png) - Create an apikey and update the ```apps\src\Managing.Api.Workers\appsettings.MYNAME.json``` file with the api key ![InfluxDb Api](assets/img/doc-influxdb-apikeys-2.png) - Then redeploy by executing : ```.\scripts\docker-deploy-sandbox.cmd``` - Check influxdb > buckets > prices-bucket > if there is data ![Docker](assets/img/doc-docker.png) - Verify the logs of the Workers container to see if candles are well inserted - It may take some time to see the candles in the front-end ## Setup default strategies, scenario and money management - Go to Managing.Api swagger ```https://localhost/index.html``` - Execute ```POST /settings``` ![Api Settings](assets/img/doc-settings.png) # Dev ## Generate Api Client - Use [NSwag](https://github.com/RicoSuter/NSwag) - Generate a Typescript client with Fetch template - Deposit the file in ```Managing.WebApp\src\generated\``` - Generatet ABI service ```Nethereum.Generator.Console generate from-abi -abi ./DataStore/DataStore.abi -o . -ns Managing.Tools```