Coder Social home page Coder Social logo

signmeup / signmeup Goto Github PK

View Code? Open in Web Editor NEW
96.0 10.0 33.0 2 MB

Real-time application to sign up for and manage TA hours.

Home Page: https://signmeup.cs.brown.edu

License: MIT License

HTML 26.39% JavaScript 69.45% CSS 4.16%
office-hours queue course-management meteor brown-university

signmeup's Introduction

SignMeUp

GitHub release Meteor version Dependencies Code Climate License

Real-time application to sign up for and manage TA hours.

About

SignMeUp is a web application that allows teaching assistants to hold hours and labs, and students to sign up for them. In essence, it is an online queue.

Contributing

Contributions are welcome from one and all. Please read CONTRIBUTING.md to get set up. For questions, please email [email protected].

Team

SignMeUp was originally created by Dhruv Rawat '14, Anamta Farook '14, and Mohsan Elahi '14 at Brown University as part of a CS132 project.

The creators' intent was that over time SignMeUp would become a platform that students and TAs in the CS department own and contribute to. Several people listed below have worked on SignMeUp, bringing that vision to life:

Athyuttam Eleti Greg Carlin
Atty Eleti '17 Greg Carlin '19 Will Povell '20

For support, please email the team at [email protected].

License

MIT © Brown Computer Science, 2015–Present

signmeup's People

Contributors

ali-mir avatar athyuttamre avatar bnavetta avatar etremel avatar gregcarlin avatar j-f1 avatar wpovell 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  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

signmeup's Issues

Use Simple Schema

Figure out how to migrate data to the schema so that we always have a clear idea of how to store data.

Limit to location

Figure out a way to limit queue signups via geolocation or specific IP addresses.

Let students set a living / preferred name

Some students (for a variety of reasons) do not go by the legal name on their Brown account. It would be nice if they could set their preferred name so that we use the name they want to go by when calling them for hours.

Script mongoexport

Create a script to easily run mongoexport on all the collections in the database and export them to the host system.

Add swiping animation + gap between tickets

Right now, marking a ticket as Done immediately replaces it with the next one. Accidental clicks then result in multiple tickets being marked-as-done in succession. Implementing a Mailbox-esque swiping animation along with a slide-up animation for the next ticket will help resolve this.

Signing up without login

Design and implement a way for users to signup for a queue without signing in. HTAs should be able to choose this option as a setting.

Switch away from clickHandlers for submit buttons

Right now many submit buttons aren't marked as type=submit, and instead trigger the submit event on their form when they're clicked (through a separate click handler.) This is bad, and should be fixed.

Limit meaning of HTA and Admin roles

Right now, if a user is an HTA or an admin, they automatically pass checks for lower roles. This should not happen unless explicitly asked for.

Couple of issues:

  • We lose transparency in the authorization process, as well as fine-grained control over targeting a specific group.
  • In the admin dashboard, adding an MTA throws the TA already exists! error. Imagine this MTA is removed from the MTA position. They can no longer be a TA for the class.

Migrate to Meteor 1.3

This involves a lot of work. For starters we should use the recommended module-based structure. Should also use this opportunity to clean up JavaScript and write it with ES6 and the Meteor style guide in mind.

Mark students as missing

Let TAs mark a ticket as missing. This should put the ticket at the top of the queue list with a different visual treatment. That way other TAs know to deal with these students first.

Timer on TA page

It'd be super helpful to have a count-up timer on the page that TAs have that is reset whenever a student is checked off. Additionally, if this information could be added to logs (how long a TA spent with a student), it would also be really useful to see overall trends.

(Not the most pressing, but would be great!)

Set TA on ticket actions

When a ticket is marked-as-done, cancelled, etc., we should store that in the Ticket's document.

Add tests

Figure out Meteor testing frameworks; possibly new things with TinyTest in 1.3?

Fix SSL certs

It seems on Android, we get the following warnings:

screenshot 2016-02-18 19 09 20

screenshot 2016-02-18 19 09 32

This was tested on Nexus 6 with BrowserStack.

Show online TAs

Show the TAs with currently active sessions on the queue page.

Edit Ticket

Let students edit their question / name / other properties of a ticket.

Consider removing bundle

The workflow is pretty complicated, since you can't just use docker-compose logs bundle. You have to instead include the full Compose file path with the -f tag.

Also probably need to rename the db and proxy targets to keep them separate from the development version.

Add minimum wait time between signups

The previous SMU had a feature allowing HTAs to set a minimum time between signups from an individual student, so they wouldn't be able to continually sign up without sufficient time invested on their part. Could this be added?

Number of students in queue in title

One thing that the previous SMU had that was really useful was the number of students in the queue in parentheses in the title of the page, so the tab would say "SignMeUp (4)" if there were 4 students in the queue. When hours are quiet, this is really nice so that you can see if students signed up while you were navigated away or don't have the window up. Not a huge deal, but would be great if it's an easy fix. Thank you!

See all tickets

Let TAs toggle an option to see cancelled and marked-as-done tickets in the list view.

Flag Students

Let TAs mark students as flagged, and possibly assign a reason for flagging them. Let HTAs see the flagged tickets and take action on them.

Database Migrations

Change a few things:

  • Queue: location to locationId
  • Ticket / Queue: time properties; use a uniform style

Find another way to version app

Just realized that settings.json needs to be independently specified on production. It basically loses relevancy since it isn't being read from source code. Perhaps use package.json?

Course Settings

Let HTAs choose different kind of settings for queues made for that course.

Switch to claim-then-mark-as-done model for tickets

When multiple TAs work together, its unclear who's working with which student. In addition, queueing theory depends on knowing when tickets are claimed.

For both of these reasons, we need a design shift to let TAs claim tickets first and then mark them as done.

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.