91 lines
3.2 KiB
Markdown
91 lines
3.2 KiB
Markdown
# 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
|