Skip to content

neittien0110/CourseDependency

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Course Dependency

Overview

A website and webapi show the dependency tree of courses, help students choose which course need to be accomplished early and arrange their learning plan.

Prerequisite

  pip install -r requirements.txt
  • install graphviz
  • add the bin folder of graphviz to the PATH environment.
  • modify 2 variables in file ./crawl_personalsis.py. Input the studentid and its password to access SIS system.
LOGIN_USERNAME = "2016baba"
LOGIN_PASSWORD = "2016lala"

How to run

  • Step 1: crawling. It takes about 120 minutes.
    cd viz
    python ./crawl_personalsis.py
    Output:../assets/CourseListdata.csv and,
           ../assets/CourseListdataextend.csv

Note: Must wait for a while, until an web browser open. This application will fill the username/password into the empty textbox. But you must entry captcha by yourself.

  • Step 2: generate dependency graphs
      python ./gentree.py
  • Step 3: run web api
      nodejs ./index.js

Other features

  • Generate the condition tree of a single subject
    python ./gentree.py -s subject
    python ./gentree.py -s IT1110
  • Generate the condition tree of a single subject and force a trial condition expression
    python ./gentree.py -s subject -c condition
    python ./gentree.py -s IT3030 -c "(IT111/IT1120/IT1130),IT2000"
  • Generate the condition tree of a group of subjects, like a education programme
    python ./gentree.py -n name -p subjectInCSV
    python ./gentree.py -n IT1  -p  IT2030,IT4991,IT3420,IT3020

Structure of the Source Folder

GitHUB: https://github.com/neittien0110/CourseDependency.git

|   Readme.docx
|   README.md                       (guideline)
|       
├───api
|   |   index.js                    (simple web server)
|   |   package-lock.json
|   |   package.json
|   |   
|               
├───assets
|   |   CourseListdata.csv           (crawling results)
|   |    
|   ├───graph0
|   |       HE3011
|   |       HE3011.png
|   |       IT3030
|   |       IT3030.png
|       
├───viz
|   |   crawl_personalsis.py        (crawling program)
|   |   example.dot
|   |   gentree.py                  (crawling results to graph) 
|   |   graphcoursemoredetail.py    (not in used)
|   |   requirements.txt
|   |   Untitled.ipynb
|   |   
|   ├───BrowserDrivers
|   |       chromedriver.exe
|   |       geckodriver.exe
|   |       msedgedriver.exe
|   |       
  • Thư mục api chứa code web server
  • Thư mục viz chứa code crawl data , dữ liệu được crawl và dữ liệu đã phân tích và render bằng graphviz

Demo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.4%
  • JavaScript 5.6%