A node.js API for accessing AdDU Student Information System (SIS) data. This library scrapes data using axios with jsdom as HTML parser. No data is saved when using this library by itself.
These instructions will get you the library up and running on your local machine for development and testing purposes
How to install the library to your existing Node.js project
npm i node-addu-sis // for npm users
yarn add node-addu-sis // for yarn users
npm i // for npm users
yarn // for yarn users
node server.js
Here is an example that:
- initializes the SIS library
- gets and prints user information
const SIS = require('node-addu-sis')
const sis = new SIS(process.env.USERNAME, process.env.PASSWORD) // initialize
var user = (await sis.getRegistration()).user // gets user from sis
console.log({
card: user.card,
id: user.id,
name: user.name,
course: user.course,
section: user.section,
division: user.division,
year: user.year,
status: user.status
})
Getting and printing the grades of the account
var grades = await sis.getGrades()
console.log(grades.all())
Getting and printing the balance of the account
var balance = await sis.getBalance()
console.log(balance.all())
Getting and printing the registration of the account
var registration = await sis.getRegistration()
console.log(registration.all())
Getting and printing all of the subjects in the curriculum of the account
var curriculum = await sis.getCurriculum()
console.log(curriculum.all())
Searching for currently available classes with class code 4-%
var search = await sis.searchClassOfferings('4-%')
console.log(search.all())
Getting and printing all currently preregistered subjects
var prereg = await sis.getPrereg()
console.log(prereg.all())
Searching for subjects to preregister using the keywords "PE" and adding the first subject found
var search = await sis.searchPrereg('PE')
var firstSubjectFound = search.response.all()[0]
console.log(await sis.addPrereg(firstSubjectFound.code, search.session))
Getting currently preregistered subjects and dropping first subject found
var prereg = await sis.getPrereg()
var firstSubjectFound = prereg.all()[0]
console.log(await sis.dropPrereg(firstSubjectFound.id))
This package does not come with examples for testing yet.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Son Roy Almerol - Initial work - sonroyaalmerol
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
- AdDU SIS ;)
- Hat tip to anyone whose code was used
- Inspiration
- etc