{"id":100,"date":"2021-05-08T05:16:55","date_gmt":"2021-05-08T05:16:55","guid":{"rendered":"https:\/\/tejasgarde.dev\/?p=100"},"modified":"2021-05-08T05:21:08","modified_gmt":"2021-05-08T05:21:08","slug":"vaccine-locator-service-using-spring-webflux","status":"publish","type":"post","link":"https:\/\/tejasgarde.dev\/index.php\/2021\/05\/08\/vaccine-locator-service-using-spring-webflux\/","title":{"rendered":"Vaccine Locator Service Using Spring WebFlux"},"content":{"rendered":"\n<h2> Humble request \ud83d\ude4f\ud83c\udffb<br> if you are configuring this service on your machine please do not overwhelm the cowin server, keep the ping duration optimum, by default its hard coded to 20 minutes<\/h2>\n\n\n\n<p>Vaccine Locator is service that calls the cowin(co-vin) API and fetches the available slots (18+ only) for vaccine for current day only. if slots are available this service will send message on Configured Public Telegram channel.This application as of now fetches vaccine slots for only 1 configured district.<\/p>\n\n\n\n<p>Pull request&#8217;s are open. If you are running the application for your district please update the README file here as well as application.yml so that if for your district anyone is running application you don&#8217;t have to run it just join telegram channel.<\/p>\n\n\n\n<h2>Configuration Required in application.yml file<\/h2>\n\n\n\n<ul><li>District ID along with name in <strong>districts: all:<\/strong><ul><li>ex: pune district id is 363 so it is placed as <strong>pune: 363<\/strong> under <strong>all:<\/strong><\/li><\/ul><\/li><li>Name of the district for which ID has been configured under cowin:<ul><li>the same district you have to provide like <strong>selectedDistrict: pune<\/strong><\/li><\/ul><\/li><li>Telegram API Key in telegram: tApiKey:<\/li><li>Telegram channel name under telegram: tChannelName:<\/li><\/ul>\n\n\n\n<h2>Telegram Channel Configuration<a href=\"https:\/\/github.com\/tejasgrd\/vaccine-locator#telegram-channel-configuration\" target=\"_blank\" rel=\"noopener\"><\/a><\/h2>\n\n\n\n<p>Please follwo&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/xabaras.medium.com\/sending-a-message-to-a-telegram-channel-the-easy-way-eb0a0b32968\" target=\"_blank\">link 1<\/a>&nbsp;and&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/rieckpil.de\/howto-send-telegram-bot-notifications-with-java\/\" target=\"_blank\">link 2<\/a>&nbsp;to create Telegram channel and get the API token from BotFather. Use the API key as mentioned above in application.yml file and Channel name from channel description (not the actual name)<\/p>\n\n\n\n<h2>Running Application<\/h2>\n\n\n\n<p>Once above configuration is done, run the below comands<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mvn clean install\nmvn spring-boot:run<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2>GitHub Repository <\/h2>\n\n\n\n<p>Here is the link for <a href=\"https:\/\/github.com\/tejasgrd\/vaccine-locator\" target=\"_blank\" rel=\"noopener\">GitHub<\/a> repository, pull request for enhancement an bug fixes  are welcome.<\/p>\n\n\n\n<p>I will cover this application in our series of Spring WebFlux tutorial in upcoming posts. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Humble request \ud83d\ude4f\ud83c\udffb if you are configuring this service on your machine please do not overwhelm the cowin server, keep the ping duration optimum, by default its hard coded to 20 minutes Vaccine Locator is service that calls the cowin(co-vin) API and fetches the available slots (18+ only) for vaccine for current day only. if &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/tejasgarde.dev\/index.php\/2021\/05\/08\/vaccine-locator-service-using-spring-webflux\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Vaccine Locator Service Using Spring WebFlux&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[2,8],"_links":{"self":[{"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/posts\/100"}],"collection":[{"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/comments?post=100"}],"version-history":[{"count":3,"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":105,"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/posts\/100\/revisions\/105"}],"wp:attachment":[{"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/media?parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/categories?post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tejasgarde.dev\/index.php\/wp-json\/wp\/v2\/tags?post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}