Display your college courses as an easy-to-understand interactive graph!
View the demo here!
This project displays course codes
, names
, descriptions
, and prerequisites
as a force-directed graph using D3.js
Feel free to fork this and make your own changes! I'd love to see your take on this project.
- Draggable Nodes
- Toggle Completed Courses
- Custom JSON Input (Input your own courses in JSON format)
- Clone or download this repository in a directory of your choice
git clone https://github.com/mohammadzfr/CourseVisualizer
-
If you have a JSON file that only has nodes and no links between them, you can create links for it by using the
process_data.js
file, which will use theprerequisites
field to create links -
Enter the PATH of your compatible JSON file into the
jsonUrl
variable ingraph.js
-
Run the HTML file in localhost
- You can use the
Live Server
extension in VSCode or anything similar
- You can use the
-
Currently
input.json
is used inprocess_data.js
andexample.json
,example2.json
, andexample3.json
are used ingraph.js
-
Enjoy!
- Adding a save/load feature for modified JSON files
- A page that allows you to add your own courses through the UI without messing with JSON
- Upload a transcript to automatically create a JSON with all completed classes
- Adding a field to see which semester you took a course if at all
CourseVisualizer/
|── assets/
| |── signature.ico // favicon
| |── CourseVisThumbnail.png // thumbnail for README
|
|── index.html // boilerplate
|── style.css
|── graph.js // the main program
|── process_data.js // for creating links out of nodes
|── example.json // ideal setup of nodes and links for graph.js
|── input.json // ideal setup of nodes for process_data.js
|── raw-catalogue.txt // Document where all the courses are scraped from