/valorant-match-schedule

đź“…competitive Valorant match schedule for Google Calendar

Primary LanguagePython

valorant-match-schedule

You can check worldwide VALORANT matches schedule in Google Calendar.

Public URL

https://valorant-calendar.mizt.ch/

Tip

  • All Calendars except International contain tier-1 and tier-2 matches played in the region.

Warning

  • Below are scheduled to be de-updated or removed in the near future
  • I recommend that you replace each of them by subscribing to a new calendar that will replace it.
  • NA : All events in this calendar are also included in Americas.
  • Brazil / LATAM : All events in this calendar are also included in Americas.
  • APAC : All events in this calendar are also included in Pacific.
  • East Asia : All events in this calendar are also included in Pacific.

Architecture overview

architecture

  1. Lambda function: get-match-list is periodically invoked from EventBridge
  2. get-match-list decides which day to fetch match information, and publishes records including specified dates strings to SQS queue: FetchDailyMatches
  3. fetch-daily-matches is triggered by FetchDailyMatches queue. fetches match data for a day from API service and put into DynamoDB table: MatchList
  4. MatchList table streams captures item-level data modification to Lambda function: add-gcal-event
  5. add-gcal-event creates/modifies Google Calendar events. Outbox table manages their state and information.

Prerequisites

If you want to do it yourself, you should be ready with:

  • service account keys for Google Cloud IAM ( service_account_key.json ): see here

    git clone https://github.com/miztch/valorant-match-schedule
    cp service_account_key.json valorant-match-schedule/add-gcal-event/function/service_account_key.json
  • calendars and their ids for each regions: see here

    • 9 calendars are needed for each regions.

Provisioning

You can use AWS SAM to provision this application.

  • Templates are nested, so you have to execute sam deploy only once
cd valorant-match-schedule/
sam build
sam deploy --guided --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND