Giter VIP home page Giter VIP logo

cu-me's Introduction

CU-me - CUNY Scheduling Simplified.

A long-term project finally in its first stage of completion.

Making a class schedule every semester at a CUNY campus is a nightmare. Juggling between RateMyProfessors, the abysmal UI of CUNYFirst, a schedule visualization site like FreeCollegeScheduleMaker, and DegreeAudit makes scheduling a daunting, annoying experience that students have to go through each semester.

CU-me aims to fix these issues :) Maybe not all of them, but, hopefully, it makes things a bit easier.

What's already been done

  • Integration with DegreeWorks: the left tab shows you a glorious list of classes you still need to complete to graduate (based on your DegreeAudit). Classes with full codes like CSCI 12700 are clickable and it will automatically search the course catalog for that course for the most recent term.
  • Integration with CUNYFirst search: completely bypassing the CUNYFirst login, you can search for any class at any CUNY campus.
  • Integration with RateMyProfessors: each class returned from a search has an overall rating for a professor and the professor's hardness rating (this only works for professors that are in the RateMyProfessors database, of course. Sorry, 'Staff' has no ratings).
  • A slow, but full API for CUNYFirst class searching (returns JSON for search)

The schedule you create gets saved to a PostgreSQL database, so all edits to your schedule are secure. You can download the schedule as an image by clicking on the small download button.

What's yet to be done

  • Saving the schedule name to the database. Yes, I honestly thought of this one while making this list, so it should be done soon.
  • Saving the schedule name to the downloaded image. I tinkered with this for a bit, but couldn't get it to work. Have to get back to it.
  • Hiding the optional parts of the search form until the user needs them. They take up a lot of space and most people won't use many of the other search filters.
  • Very Important A progress indicator. This one's not fair. I have a local build of this site for development, on which this works. When you're logging in or searching, it updates you with a quirky text message as it's going through the process. I implemented it with global variables, which don't work for a multi-worker gunicorn setup that I have on the production build. I tried using Celery, but abandoned it temporarily because it was so finnicky. I'm so sad that I have this one working, but nobody can see it yet :( stick around.
  • Mobile layout. I tried to make it as responsive as possible, but ideally for mobile devices, I want to separate the Degree and Search sections into their own screens, kind of like tabs instead of all three sharing one space.

Now. I managed to bypass CUNYFirst search, but I had to sacrifice one crucial thing to make it work. When you add a class to the schedule, you don't get the list of labs, recitation, or discussions if it is a combined section class. This information can only be accessed by logging in and selecting the class while logged in. I mean, as far as I know. Anyway, this is a BIG problem. Hopefully, I can figure something out.

If you want to read how I did it, this is the tech readme.

cu-me's People

Contributors

mikmaks97 avatar

Watchers

 avatar  avatar

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.