Code Monkey home page Code Monkey logo

schedulemaker's Introduction

CSH ScheduleMaker

GPL-2.0 PHP Version

A course database lookup tool and schedule building web application for use at Rochester Institute of Technology. Built, maintained and hosted by Computer Science House

Available at schedule.csh.rit.edu

Dev Environment

Setup

  • Fork and clone the repository.
  • Copy the config.example.php file to config.php in /inc/ or set environment variables as defined in config.env.php.
  • Contact a current maintainer for server/database configs.
  • If you wish to see images locally, you will also need S3 credentials, either supply your own or reach out.

Run Locally

In order to run locally youre going to need docker.

docker build -t schedulemaker .
docker run --rm -i -t -p 5000:8080 --name=schedulemaker schedulemaker

You can replace 5000 with whatever port you wish to connect locally to. Then visit http://localhost:5000 in a browser.

Development

  • To build js files run npm run-script build.
  • Increment the version number in package.json after updating js/css files or ensure all cache cleared.
    • Make sure you increment at least the patch number in any PRs that touch Javascript/CSS.
  • If you get an error with JS/CSS not loading, check your config file.

Maintainers

Current Maintainers

Past Maintainers

schedulemaker's People

Contributors

agargiulo avatar ajiang2363 avatar akath20 avatar benrr101 avatar bgrawi avatar brandonhudson avatar devinmatte avatar dr-n0 avatar galenguyer avatar jabbate19 avatar joeleager avatar lavasnake avatar lueking avatar mbillow avatar moralcode avatar mstrodl avatar veggiebob 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  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  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

schedulemaker's Issues

Show course name in cart

I don't care if it's hovertext or whatever, but having a way to tell what the name of a course is in addition to just its ID would be helpful. Similar to #3, I think, but I'm not sure if they're the same thing.

Search by Level Bug

Should be simple. When searching for courses using intermediate level (300 - 600) It actually delimits the results from 300-499.

ONLY Parameters given:

  • Term (required)
  • College
  • Dept
  • Level

Test cases:

  • FALL 2014
  • GCCIS
  • SWEN & IGME
  • INTERMEDIATE

No 5xx level courses appear.

Feedback on term change

Is it possible to provide some kind of feedback when using the dropdown to change terms? Right now I'm not sure it did anything until I look to see the course listings.

From Email: 15 Minute Schedule Block Option

Issue by benrr101 from Wednesday Sep 04, 2013 at 02:30 GMT
Originally opened as https://github.com/benrr101/schedulemaker/issues/123


From an email by Wendy D:

Is there a way I can view the schedule in 15 minutes slot instead of 30 minutes slot?

This functionality currently isn't supported. However, this is an interesting prospect: with semesters, courses can totally start on the half hour and end on the quarter hour. As silly as it is, it is a reality. Adding an option for displaying schedules in 15min blocks would aid in this problem -- but would cause a lot of issues for displaying the schedule (making the schedules huge, not text overflow problems). Thoughts?

An idea for implementation would be to not label every block on the schedule, but every 4 blocks with whatever hour they are. Like a rowspan=4 type thing.

Not recognizing paired courses

There are some classes that show up separately in the matched courses list, but that need to be paired together as part of the course, eg. a studio and lecture class. Schedule Maker should pair these classes based on their course numbers instead of how they show up currently (sorry this is a little confusing) ex: PHPS-106-01 goes with PHPS-106-01L on the schedule instead of them being separate by default. This picture should help
image
Ex 2: This is the same class:
image

Make new features like comma courses more obvious, perhaps a walkthrough/overlay system?

Right now, the scheduler only makes decisions among different sections of a course. If I want to choose an optimal section of Physics for my schedule when I know that I'm going to take Physics, this is very useful, because there are many sections to choose from. If I want to choose between different electives to take, this is less useful because I have to manually swap out the different electives and try the schedules, which may be cumbersome. A lot of upper-level electives also have few sections, which makes the CSH scheduler much less useful.

Now, a fix could be implemented in two different ways, or a combination of the two:

Option 1: Add ability to mark courses as "optional," generating schedules that both include them and don't, preferably biasing the schedule sorting to show schedules with more courses first. Maybe there would be a way to avoid listing proper subsets of schedules (i.e. don't show an extra schedule for a previously listed schedule with a course removed), although the code for that might be complicated and inefficient.

Option 2: Add ability to group multiple courses, instead of just sections of one course, to be included in the schedule. Every schedule would have the same exact number of courses, except each particular course would be chosen from a list. Example: schedule is chosen from four courses that I have to take (like the current functionality), although choose the fifth class to be either section 1, 2 of Elective A or section 3 of Elective B.

Option 2 is very close to what we have now, although option 1 may be easier to use.

(unsure if my explanation is good enough, but hopefully you get the gist of what I'm saying)

Missing courses

I know for a fact that NSSA-245 is missing from both the dev version of the schedule maker and the current non-beta version

Course selection possibilites

It would be amazing if you could enter in a number of possible classes for a term and it could give you all possible schedules that consist of a certain smaller number of those classes as opposed to all of them. Further, if you could select some of the classes as "definite" classes and all generated schedules would include those in all cases.

Feature Request: Show number of credits

It would be great if the system could count the credits and keep a running total of them so that it can alert you as to if you are over the max of 18 credits per semester.

Path references should be relative

In the navigation header, the links to the various pages should be relative paths (ie. not start with a /). This should also be applied to references to ajax handlers in js. This causes the site to be pretty much nonfunctional if it runs from any directory other than the root of the server (see http://renbussell.com/schedule).

Browse Course doesn't have STUAF

Normal schedule maker has a top level option titled STUAF that contains wellness courses, the new schedule-dev does not show this option.

Labs counted as class sections instead of labs

In lab classes, there is the main lecture section, and then a lab in addition to that. When generating different schedules with the lab selected under the classes, the lab is counted as the entire class and will be put on the schedule instead of the class, instead of being there in addition to the class.
Example:
CMPE-480-01
CMPE-460-01
CMPE-460-01L1
CMPE-550-01
CMPE-530-01
CMPE-530-01L2
image

The generated schedules will show:
(Lecture section) XOR (Lab section)
instead of the expected:
(Lecture section) AND (Lab section)

Both versions missing course numbers that contain letters.

I am aware of some new courses being added by RIT that correspond to the Calc A-B-C math track that have not been added to either versions of the Schedule Maker. An example of this that I found would be with Phys 211A that is a available on RIT SIS and not on your site. I am not sure if this is just a problem with synced information, or that you determine classes by course number in a different way, and that information should already be showing up when I search for Phys 211A. Phys 211 is different from Phys 211A.

Will not pull in classes listed as Staff

I've been attempting to plan my schedule with the new and old schedulemakers. What I have noticed is that my statistics 145 course, as is Math Department policy, has all classes listed as staff except for those taught at our international campuses. Schedulemaker only pulls in those listed without staff, in this case the international classes. Thanks!

Not all sections are available for some classes

There are a few classes for Fall 14-15 that I am trying to add to my schedule in schedule maker that do not show all of the sections available or don't show any at all. For example STAT-205 only shows 1 section when there should be 4 on campus plus 1 abroad. Also EEEE-281 is only showing the 2 abroad sections when there appears to actually be 6-7 lectures and labs available on campus. Is there something I am doing wrong? I attached a screenshot. Thanks!

screenshot

Existing classes return "No course match".

Issue by Eternyte from Friday Aug 30, 2013 at 02:27 GMT
Originally opened as https://github.com/benrr101/schedulemaker/issues/122


Existing classes which should be listed returns an error of "No course match".
Found this occurring for a few math classes, specifically:
MATH-90, which only has sections 03.
MATH-221, which only has sections 01 and 08.
MATH-241, which only has sections 06.
MATH-381, which only has sections 03.
Possibly related: All Dubai courses seem to be unaffected.

No Matching Schedules

I added all of my courses for the Fall 2014 section, and I tried to click "show matching schedules" and a big red box showed up at the bottom with the words "No Matching Schedules". Im not sure why.
screen shot 2014-04-11 at 11 16 26 am

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.