{"action":"created","issue":{"url":"https://api.github.com/repos/github/mentorships/issues/91","repository_url":"https://api.github.com/repos/github/mentorships","labels_url":"https://api.github.com/repos/github/mentorships/issues/91/labels{/name}","comments_url":"https://api.github.com/repos/github/mentorships/issues/91/comments","events_url":"https://api.github.com/repos/github/mentorships/issues/91/events","html_url":"https://github.com/github/mentorships/issues/91","id":134749275,"number":91,"title":"Classroom - Explicit assignment submission and due dates","user":{"login":"johndbritton","id":123345,"avatar_url":"https://avatars.githubusercontent.com/u/123345?v=3","gravatar_id":"","url":"https://api.github.com/users/johndbritton","html_url":"https://github.com/johndbritton","followers_url":"https://api.github.com/users/johndbritton/followers","following_url":"https://api.github.com/users/johndbritton/following{/other_user}","gists_url":"https://api.github.com/users/johndbritton/gists{/gist_id}","starred_url":"https://api.github.com/users/johndbritton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/johndbritton/subscriptions","organizations_url":"https://api.github.com/users/johndbritton/orgs","repos_url":"https://api.github.com/users/johndbritton/repos","events_url":"https://api.github.com/users/johndbritton/events{/privacy}","received_events_url":"https://api.github.com/users/johndbritton/received_events","type":"User","site_admin":true},"labels":[{"url":"https://api.github.com/repos/github/mentorships/labels/project","name":"project","color":"eb6420"},{"url":"https://api.github.com/repos/github/mentorships/labels/project:%20classroom","name":"project: classroom","color":"fad8c7"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-02-19T01:51:01Z","updated_at":"2016-09-29T00:44:29Z","closed_at":"2016-09-29T00:44:29Z","body":"_Aside from the projects listed here, we are open to other proposals and ideas. Take a look at issues labeled [feedback](https://github.com/education/classroom/labels/feedback), [feature-request](https://github.com/education/classroom/labels/feature-request), [enhancement](https://github.com/education/classroom/labels/enhancement), and [help-wanted](https://github.com/education/classroom/labels/help-wanted) for ideas._\r\n\r\nAbout Classroom:\r\n\r\n[Classroom for GitHub](https://classroom.github.com) is an [open source](https://github.com/education/classroom) tool for managing programming coursework on GitHub. The app enables teachers to distribute starter code to students, automatically creating repositories and managing access control for students. It also provides teachers with an easy way to get an overview of their students' submissions made on GitHub.\r\n\r\nSummary:\r\n\r\nAssignment submission and due dates are currently implemented through social constructs in Classroom. Many teachers require students to make sure code to be graded is published and merged to the master branch of their assignment repository by the specified deadline, but there is no technical enforcement of the deadline or the submission process. For this project we need to implement a way for students to explicitly \"submit\" their work to be graded as well as a way for the system to record the submission time and if it was before or after the submission deadline. A novel approach that we've been considering is to consider pull requests merged to the default branch as submissions and record the timestamps of the merges using webhooks from GitHub. We could expose the due date status to students via the Commit Status API to display \"on time\" or \"late statuses\" next to the merge button like a typical continuous integration status.\r\n\r\nExpected Outcome:\r\n\r\n* A straightforward way to specify (and modify) due dates for assignments is implemented.\r\n* A way for students to explicitly submit their work multiple times is implemented.\r\n* Submission timestamps and commit identifiers are recorded for submissions by the student.\r\n* \"on time\" and \"late\" submission status is reported to the student accurately during the process.\r\n* Additional goals set in the accepted mentee's application are met.\r\n\r\nSkills: Ruby, Rails, RSpec, Testing, HTML, CSS, JavaScript\r\n\r\nRelevant issues:\r\n* [Adding a due date for assignments (#379)](https://github.com/education/classroom/issues/379)\r\n\r\nPrimary mentors:\r\n* @johndbritton\r\n* @tarebyte\r\n\r\nSupporting mentors:\r\n* @mkcode\r\n* @jasonlong"},"comment":{"url":"https://api.github.com/repos/github/mentorships/issues/comments/250341688","html_url":"https://github.com/github/mentorships/issues/91#issuecomment-250341688","issue_url":"https://api.github.com/repos/github/mentorships/issues/91","id":250341688,"user":{"login":"tarebyte","id":564113,"avatar_url":"https://avatars.githubusercontent.com/u/564113?v=3","gravatar_id":"","url":"https://api.github.com/users/tarebyte","html_url":"https://github.com/tarebyte","followers_url":"https://api.github.com/users/tarebyte/followers","following_url":"https://api.github.com/users/tarebyte/following{/other_user}","gists_url":"https://api.github.com/users/tarebyte/gists{/gist_id}","starred_url":"https://api.github.com/users/tarebyte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarebyte/subscriptions","organizations_url":"https://api.github.com/users/tarebyte/orgs","repos_url":"https://api.github.com/users/tarebyte/repos","events_url":"https://api.github.com/users/tarebyte/events{/privacy}","received_events_url":"https://api.github.com/users/tarebyte/received_events","type":"User","site_admin":true},"created_at":"2016-09-29T00:44:29Z","updated_at":"2016-09-29T00:44:29Z","body":"This was taken on by @cyhsutw for Google Summer of Code 2016 and is currently in progress."}}
{"actor":{"display_login":"tarebyte"}}