NoticeAlertCLI is a Node.js application that retrieves examination result notifications from the Institue of Engineering's (IOM) and Institute of Medicine’s (IOM) website and delivers them directly to your terminal.
-
Fetches the latest exam result notices from the IOM website.
-
Compares the fetched notices with previously saved notices to identify new notices.
-
Sends desktop notifications for any new notices.
-
Allows scheduling of the notice fetching and notification process with customizable intervals.
- Node.js (v12 or higher)
- npm (v6 or higher)
-
Clone the repository
git clone https://github.com/rohityadav-sas/Notice-Alert-CLI
-
Navigate to the source directory:
cd Notice-Alert-CLI
-
Install the required dependencies
npm install
-
Make sure you have Node.js and npm installed.
-
Clone this repository and navigate to the project directory.
-
Install the required dependencies using npm install.
-
Run the application with optional arguments:
-
To run the application with a specific interval:
npx iomnotice -interval duration
OR
npx ioenotice -interval duration
Duration can be in hours (hr or h), minutes (min or m), or seconds (sec or s).
For example:
npx iomnotice -interval 30min
OR
npx ioenotice -interval 1hr
-
To run the application with default settings (1 hour interval):
npx iomnotice
OR
npx ioenotice
-
To see usage instructions:
npx iomnotice -help
OR
npx ioenotice -help
-
-
Fetch Current Notices: The application fetches the latest notices from the IOE and IOM website using Axios and Cheerio.
-
Fetch Saved Notices: The application reads previously saved notices from saved Notices.
-
Check for New Notices: The application compares the current notices with the saved notices to identify any new notices.
-
Notify: If there are any new notices, the application sends desktop notifications using node-notifier.
-
Save Notices: The application updates the Notices file with any new notices.
-
Scheduling: The application allows scheduling the notice fetching process with customizable intervals.
-
axios: For making HTTP requests.
-
cheerio: For parsing HTML and extracting data.
-
node-notifier: For sending desktop notifications.
This project is licensed under the ISC License. See the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.