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

Packages

No packages published

Languages

  • Python 94.4%
  • JavaScript 5.6%