1.0.4 • Published 4 years ago

tasc-insight v1.0.4

Weekly downloads
1
License
MIT
Repository
gitlab
Last release
4 years ago

tasc-insight

This is a library built for interacting with TASC Software Solution's education portal INSIGHT.

This project was made from scratch in a matter of hours, this is a finalised API for use with future projects after several different attempts and methods. Official TASC website for Insight.

  • Fully typed! 😄
  • Includes 100% test coverage of features.
  • Uses modern and fast libraries, i.e. axios, fast-html-parser

Background

  • This was initially started because Insight looks like utter garbage, and I can say for certain most of the developers at TASC really threw Insight together on their first try and didn't even bother with it.
  • The version of Insight in production, more specifically the one my school is running:
    • has unminified code hosted on their servers
    • has inline css and js in pretty much all pages
    • uses ASP.NET
    • looks plain ugly, no effort was made to make any of it look good (uses bootstrap too)
      • this would be fine for a developer site, but this is user facing
    • takes forever to load most pages, see test results
    • sends HTML code inside of a JSON object to display on timetable
    • has inconsistent dates everywhere, i.e. 5|6|2000 for fetching timetable week

Usage

Install using yarn or npm.

# using yarn <3
yarn add tasc-insight

# using npm
npm install tasc-insight --save

All you need is the Client class which is exported from the root.

import { Client } from 'tasc-insight';
let client = new Client('https://path/to/insight');

// all methods are async
// everything has typescript typings
await client.login('username', 'password');
await client.details();
await client.assignments();
await client.timetable();