miztch / valorant-match-schedule

đź“…competitive Valorant match schedule for Google Calendar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

valorant-match-schedule

You can check worldwide VALORANT matches schedule in Google Calendar.

Public URL

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

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

    • 6 calendars are needed. (for EMEA, NA, BR/LATAM, APAC, EAST_ASIA, INTERNATIONAL)

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

About

đź“…competitive Valorant match schedule for Google Calendar


Languages

Language:Python 100.0%