Git Product home page Git Product logo

queue's People

Contributors

alprielse avatar andrewstec avatar apoorvadixit avatar code-arman avatar echuber2 avatar genevievehelsel avatar jackieo5023 avatar james9909 avatar josh-byster avatar jparisferrer avatar muakasan avatar nwalters512 avatar redsn0w422 avatar rittikaadhikari avatar rohinb2 avatar sgorse avatar shreyas208 avatar srpx avatar wadefagen avatar winstan avatar xiangmingchen avatar zwang180 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  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

queue's Issues

Utilization visualizations

The most basic utilization graph might include:

  • X-axis: Time (eg: a span of a week)
  • Y-axis: Number of students on queue

Other useful metrics (or overlays):

  • Average student wait time over time (eg: Monday might have a 1 hr average wait time during the busiest time of day)
  • Number of staff on the queue vs. utalizaation
  • Breakdown of common substrings in question titles (eg: "mp3" vs "exam" vs ...)

Add Travis CI

Now that the repo is public, we can easily add CI to make our tests and linting even more valuable ๐ŸŽ‰

Have a course close/open button

as discussed in #57, would allow course staff to "close" the queue by blocking new questions from being added. would get rid of the need for a course to keep deleting and recreating queues daily.

Add Web App Manifest for mobile icons

Currently, using "Add to home screen" on an Android device uses a generic icon and loads the page like a standard webpage.
Adding a Web App Manifest with icons and display: minimal-ui would show our custom icon alongside native apps and load the queue in a separate browser window with minimal navigation elements and a more app-like experience.

Hide new question form for on duty staff

Dont think on duty staff needs to add a question to the queue. only reason I would see that being the case is if the staff wants to put a dummy question on the queue to mark the end of the queue.

in that case, maybe a button that would allow the queue to be closed for new questions, but allows the current questions to be viewed and answered?

Not sure if the button would encourage courses to just use one queue for eternity (instead of deleting and making new queues). Not sure if this would like to be avoided or not.

Pick a license

I'm fine with something as permissive as possible, don't know if people have any particular thoughts about licensing.

Allow Illinois courses to use this as a service

  • Created a process for Illinois courses to be added to the queue (this may be just a dumb web form that e-mails someone)
  • Advertise that process in the README

(This is a subset of the work that is likely done under #19)

show queue and course name on queue page

may be important to give some indication of which queue and course the user is on, esp now that it could be a bit easier to accidentally join the wrong queue from the homepage

Feature Request - Priority Queuing to encourage attendance

Would it be possible to create a "priority" system that would incentivize students attending class? For example, many students skip CS 233's lab sections and then come to office hours to ask questions that were directly covered during lab section. We'd like to explore the effect of a system where students who attended lab section during the week would be given some type of priority in the queue who did not attend lab section.

Handle shib authentication expiration gracefully

Because all routing + data loading is done client side, requests will start transparently failing when Shib auth expires because Shib returns a 200 + "expired" HTML. For all network requests, we should assume that a 200 response + invalid JSON means that Shib auth has expired and offer to hard-reload the page to trigger the auth process again.

Show links to current queues on homepage

This will reduce the number of clicks required to get to the desired queue. If we use the member header from #4, we could even only display queues for the courses that someone is either in or on staff for.

allow staff editable text box under "on duty staff"

as title, maybe useful for links/instructions/announcements?

n: do you see this living at a course level (applying to all queues) or being specific to a particular queue?

g : I was thinking on a queue level - just because it would get more visibility from students there imo. but if it stays on a queue level, i think it would be important to allow a default message to be preloaded into the box. but if you think on a course level makes more sense, then i'm not opposed

n : Right, it should definitely be displayed on the queue page. I was moreso wondering if the message itself would be attached to the course, and thus persist between queues over the days, or if it should be created on a per-queue basis. The default message would kind of answer that though!

Visiting http url does Shib redirect loop

If you visit the insecure http://edu.cs.illinois.edu/queue/ it redirects into Shibboleth but then loops the redirects. The page never loads but you see the URL change as things bounce around.

The https link works so maybe it's just something broken in how it redirects?

Also, I noticed queue/ needs the trailing slash to work.

Fixing those might make the queue more approachable (especially if you're typing it in as a URL instead of following a link) and could be fixed in apache configs. Need help with that?

Allow course staff to add people to the queue

Candy (in CS Advising) e-mailed me about a problem they had yesterday where 3 people were unable to log into the queue (probably due to the shib auth error). Even as an admin, she could only add one of them to the queue herself.

A worthwhile feature would be to allow admins ("course staff") to add a question to the queue "as someone else" (eg: an ask a question with a NetID field?).

Show student's netid/real name to CAs

Preferably in a way that wouldn't expose it to everyone through the JSON api gets, but even then I think it would do more good than harm as who is really going to look at those, and OH aren't really private either

Course List Filtering

From a conversation this morning, STAT advising may start using our queue next week. As we grow in courses, the list of all available courses may be less and less useful.

Two ideas:

  • Allow a course to be "hidden" from the course list (except for course staff on that course)
  • Show a course in the course list only if it has an active queue (except for course staff on that course)

Adjust spacing on homepage course buttons

When viewing the home page in a narrow width window, the buttons under "Or, select a course" wrap to multiple rows. Some spacing needs to be added between rows, potentially by adding a vertical margin to the buttons themselves.

Add simple About page

If we want this queue to become widely used, we should have an About page that allwos someone to trace the app back to an actual organization (CS225) or person if they're interested in using it.

Allow location editing

j : Allow the creator of a question to modify the location (maybe with an UPDATE / retooled POST?) Preferably would be usable both while unanswered and while marked as answered

g : also to allow update topic? not name tho

Run CI tests with MySQL

#74 has shown the dangers of having different testing and prod environments. Our tests would have caught that problem had they been running with the right DB.

Differentiate course staff from active queue staff

Currently, all rendering decisions for questions are made based solely on if the current user is active queue staff. However, someone shouldn't have to join queue staff to see netids or to delete a question. So, we should change QuestionListContainer to pass both isUserCourseStaff and isUserActiveQueueStaff so we can be a little more fine-grained about what exactly is shown.

Run next.js build step in CI

We should make sure that the next.js statics build process (essentially babel+webpack) succeeds during the CI checks.

create some way to show which TA is answering a question

j : tooltip like Chara would work in my opinion

n : Another idea: use a green bar to the left of the question (like the green bar that indicates a question belongs to you), combined with a "NAME is answering this question" text below the question.

Fix confirm modal PropTypes

ConfirmDeleteQueueModal and friends currently use the same propTypes as ConfirmModal, but they should only use a subset since descText and confirmText are never provided as props to those components.

Sometimes cannot submit student feedback

queue.js:1 WebSocket connection to 'wss://edu.cs.illinois.edu/queue/socket.io/?EIO=3&transport=websocket&sid=0ivi-FlHXRTsKvjRAAPY' failed: Error during WebSocket handshake: Unexpected response code: 400
m.doOpen @ queue.js:1

queue.js:1 WebSocket connection to 'wss://edu.cs.illinois.edu/queue/socket.io/?EIO=3&transport=websocket&sid=PURmXOFAVKVX8djqAAPa' failed: Error during WebSocket handshake: Unexpected response code: 400
m.doOpen @ queue.js:1

queue.js:1 WebSocket connection to 'wss://edu.cs.illinois.edu/queue/socket.io/?EIO=3&transport=websocket&sid=NE83MXp6RYkY55-uAAPe' failed: Error during WebSocket handshake: Unexpected response code: 400
m.doOpen @ queue.js:1

edu.cs.illinois.edu/ Failed to load resource: the server responded with a status of 502 (Proxy Error)
answered Failed to load resource: the server responded with a status of 502 (Proxy Error)
queue.js:1 Error: Request failed with status code 502
at e (app.js:269)
at e (app.js:269)
at XMLHttpRequest.e (app.js:269)
(anonymous) @ queue.js:1

answered Failed to load resource: the server responded with a status of 502 (Proxy Error)
queue.js:1 Error: Request failed with status code 502
at e (app.js:269)
at e (app.js:269)
at XMLHttpRequest.e (app.js:269)
(anonymous) @ queue.js:1

2answered Failed to load resource: the server responded with a status of 502 (Proxy Error)
2queue.js:1 Error: Request failed with status code 502
at e (app.js:269)
at e (app.js:269)
at XMLHttpRequest.e (app.js:269)
(anonymous) @ queue.js:1

answered Failed to load resource: the server responded with a status of 502 (Proxy Error)
queue.js:1 Error: Request failed with status code 502
at e (app.js:269)
at e (app.js:269)
at XMLHttpRequest.e (app.js:269)

Support auto-created recurring queues

This will be like the old queue-creation script on Chara, but as a first-class feature. Should allow a course to enter a recurring schedule for their office hours and automatically create queues based on that.We could probably just run a weekly cronjob to create the next week's worth of queues based on the schedule.

load staff via csv

w : Even better (since we have this data): have course staff automatically added to the course based on their LDAP/Shib membership in the course staff group.

Allow a queue to be created with a fixed location

When creating a queue, the queue should be able to have either a "fixed location" or a "student-supplied" location.

If a queue has a "fixed location", students are unable to enter a custom location.

If a queue has a "student supplied" location, students are able to enter a custom location.

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.