Skip to content

Latest commit

 

History

History
134 lines (91 loc) · 3.32 KB

README.md

File metadata and controls

134 lines (91 loc) · 3.32 KB

Notice-Alert-CLI

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.

Table of Contents

Preview

preview1.png

preview2.png

preview3.png

Features

  • 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.

Prerequisites

  • Node.js (v12 or higher)
  • npm (v6 or higher)

Installation

  1. Clone the repository

    git clone https://github.com/rohityadav-sas/Notice-Alert-CLI
  2. Navigate to the source directory:

    cd Notice-Alert-CLI
  3. Install the required dependencies

    npm install

Usage

  • 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

How It Works

  • 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.

Dependencies

  • axios: For making HTTP requests.

  • cheerio: For parsing HTML and extracting data.

  • node-notifier: For sending desktop notifications.

License

This project is licensed under the ISC License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.