Giter VIP home page Giter VIP logo

mcgill-course-map's Introduction

McGill Course Map

Find your path easily

Features

People's interests vary, so do their degree paths.

McGill's website only shows what are prerequisites for a course but not where you can go after it. For those who are unsure about their future paths like me, possibilities matter. McGill Course Map comes to your aid.

It shows relationships between courses, so you can see all courses stemming from the one you are currently taking with information about term.

Guide

Path mode

Path mode

shows all courses stemming from the one you search in the "Course Name" input box.

Course info panel provides the full name, credits, and terms offered of the one you clicked in the graph. You can go to the original page by clicking its name.

Filters filter out courses from certain subjects.

Layout changes the layout of nodes in the graph.

Examples:

Overview mode

It shows all courses from the subject you search. You can also see courses from other subjects that are relevant. For example, math 223 is a prerequisite for a lot of comp courses.

Mini-map shows which courses you can take JUST after the one you clicked. It's a breadth-first-search with depth limit 1. You can also go to the original page by clicking its name.

Author, link to the GitHub page, link to the GitHub issues page, and the detailed guide can be found in the navigation bar.

How to run this app locally

  1. git clone https://github.com/Deerhound579/mcgill-course-map.git
  2. Create a virtual environment with Python 3.7.3 or higher. I recommend following this Pyenv tutorial to manage your Python versions and set up the env.
  3. pip install -r requirements.txt installs all dependencies
  4. python app.py

How to run the spider

If you want to run the spider, you need to install dev dependencies by

pip install -r dev-requirements.txt

In the project root directory, run scrapy crawl courses. All output data will be stored in course_data folder.

License

Copyright © Sixian Li.

McGill is a University in Montreal and has no affiliation with this software.

This software is under GNU General Public License v3.0. More info can be found in the LICENSE file.

mcgill-course-map's People

Contributors

atsixian avatar jiahao-c avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

mcgill-course-map's Issues

Course Card should update per search

reddit
Mentioned on Reddit. The course card doesn't automatically update per new search. But user would expect auto-updates. Maybe update the card per search for better UX.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.