# 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: ```powershell 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 ` 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