Files

3.2 KiB
Raw Permalink Blame History

Alexa Malayalam Calendar Skill

An Alexa skill that calculates and announces today's date in the Malayalam Kollavarsham calendar along with the corresponding Nakshatra (birth star), calculated in real-time according to Indian Standard Time (IST).


Development Prerequisites & Tools

To build, test, and deploy this project, ensure you have the following tools installed on your environment:

1. Node.js & npm

  • Node.js: Version 20.x or higher (Supports Node.js 24+).
  • npm: Version 10.x or higher.
  • Type Support: Uses native ES Modules ("type": "module" with .mjs files).

Verify your setup:

node -v
npm -v

2. PowerShell

  • Required by the build and deployment scripts (./scripts/build.ps1 and ./scripts/deploy.ps1).
  • Included by default on Windows 10 / 11.
  • On macOS / Linux, install PowerShell Core (brew install --cask powershell).

3. AWS CLI (Optional — for Deployment)

  • Required if you plan to deploy the compiled Lambda handler directly using the deploy script.
  • Install from the Official AWS CLI Page.
  • Configure credentials with sufficient IAM permissions before running deployment: aws configure

Getting Started

1. Installation

Clone the repository and install the development dependencies:

  1. git clone <your-repository-url>
  2. cd MalayalamCalendarAlexaSkill
  3. npm install

Development & Testing

The project uses ask-sdk-test for end-to-end intent tests for Alexa request envelopes, and Mocha to provide isolated unit testing for core calendar math.

Run All Tests

  • npm test

Run Specific Test Suites

  • Unit test for date conversion & Kollavarsham calculations: npx mocha tests/calendar.spec.mjs
  • Integration test for Alexa launch and intent handlers: npx mocha tests/index.spec.mjs

Build & Deployment

Build Deployment Package

Packages src/ and production node_modules into a zip bundle suitable for AWS Lambda upload:

  • npm run build

Deploy to AWS Lambda

Executes the PowerShell deploy script to upload the latest artifact to your configured AWS Lambda function:

  • npm run deploy

Info

Lunar Month

Amanta and Purnimanta are two systems of measuring lunar months.

  • Amanta months begin after the new moon and end on the no moon day
  • Purnimanta months start after the full moon and end on the full moon day

In Kerala, the Amanta system is followed.

  • 1 Chingam (ചിങ്ങം), Aug Sep, New Year, Onam Festival
  • 2 Kanni (കന്നി), Sep Oct, Mahanavami, Vijayadashami
  • 3 Thulam (തുലാം), Oct Nov, Monsoon retreat (Thulavarsham)
  • 4 Vrischikam (വൃശ്ചികം), Nov Dec, Sabarimala Season begins
  • 5 Dhanu (ധനു), Dec Jan, Thiruvathira Festival
  • 6 Makaram (മകരം), Jan Feb, Makaravilakku
  • 7 Kumbham (കുംഭം), Feb Mar, Maha Shivaratri
  • 8 Meenam (മീനം), Mar Apr, Temple Festivals (Pooram)
  • 9 Medam (മേടം), Apr May, Vishu (Harvest Festival)
  • 10 Edavam (ഇടവം), May Jun, Arrival of Monsoon
  • 11 Mithunam (മിഥുനം), Jun Jul, Heavy rains
  • 12 Karkidakam (കർക്കടകം), Jul Aug, Ramayana Masam, Ayurveda Season

Reference Calendar for Verification

https://www.drikpanchang.com/malayalam