3.2 KiB
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.mjsfiles).
Verify your setup:
node -v
npm -v
2. PowerShell
- Required by the build and deployment scripts (
./scripts/build.ps1and./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:
git clone <your-repository-url>cd MalayalamCalendarAlexaSkillnpm 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