Files

91 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 <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