Skip to content
A scraping service above the (terrible) PeopleSoft implementation of Leiden University.
PHP JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
api
demo
ez
min
raw
scrapeusis
voortgang_cache
.gitignore
.htaccess
App_Store_Badge.png
App_Store_Badge_EN.png
Feedback.png
Galvanize.php
Logo.png
README.md
ajax-loader.gif
android_app_on_play_logo_large.png
beveiliging.php
blank.html
cijfers_html.php
details.php
force_voortgang.php
full_inschrijvingen.php
functions.js
header.php
index.php
inschrijven_op_id.php
inschrijvingen_html.php
license.txt
login.php
logout.php
roosterinfo.php
uitschrijven.php
vakken.php
voortgang.php

README.md

uCheck (PHP backend)

uCheck automatiseert ingewikkelde stappen op uSis. Zodat Leidse studenten zich makkelijker kunnen inschrijven voor studieonderdelen en sneller hun cijfers kunnen controleren.

Install

Gebruik de files op een server met PHP. MySQL database oid is niet nodig. Code werkt 'out-of-the-box'.

API

Gebruik: https://ucheck.nl/api/login.php?user=<user>&pass=<wachtwoord> Om user/pass te controleren.

Voorbeeld: https://ucheck.nl/api/login.php?user=s0924121&pass=1234

Als het wachtwoord klopt krijg je een key terug. Bijvoorbeeld: -abs8zOLQ0o9Lr2W8-l1ZFuA4fN9MDAEeIgHI1br0wefVCS8forpCV72Ar78EJ_vlWUu9JZ70D86RUxaXIKojKX9Sa5tTRtoVT1Mag9VKPU

Gebruik deze key voor de volgende api functies, deze key kan je ook opslaan in de app:

  • Cijfers: https://ucheck.nl/api/cijfers.php?user=<user>&pass=<key>
  • Inschrijvingen: https://ucheck.nl/api/inschrijvingen.php?user=<user>&pass=<key>
  • Voortgang (in html): https://ucheck.nl/api/voortgang.php?user=<user>&pass=<key>

Servers

uCheck.nl draait op 2 servers. Eén met een php-backend en de ander met een node.js (serverside javascript) backend.

De PHP backend regelt:

  • De front-end van uCheck (html, css, javascript)
  • Het inschrijven/uitschrijven
  • Elke nacht worden de vakken van alle studies gedownload om lokaal te cachen
  • De api voor de uCheck iOS app

De Node.js backend regelt:

  • Het scrapen van de cijfers, inschrijvingen naar JSON
  • Het scrapen van de voortgang naar HTML (wordt geparst door de php-backend)

Ik heb 2 node.js servers staan. Eén op een betaalde hosting in Amsterdam en nog eentje op het gratis node.js hostingplatform nodester. De betaalde hosting is aanzienlijk sneller, daarom gebruik ik hem nog steeds.

Niet inbegrepen

In de repo zijn niet de encryptie en decryptie functies van uCheck toegevoegd. Deze blijven geheim ten behoeve van de beveiliging van uCheck.

Something went wrong with that request. Please try again.