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

S
Description
No description provided
Readme
105 KiB
Languages
JavaScript 83.2%
PowerShell 16.8%