Giter Site home page Giter Site logo

easyhandin's Introduction

README

This README would normally document whatever steps are necessary to get the application up and running.

Things you may want to cover:

  • Ruby version

  • System dependencies

  • Configuration

  • Database creation

  • Database initialization

  • How to run the test suite

  • Services (job queues, cache servers, search engines, etc.)

  • Deployment instructions

Please feel free to use a different markup language if you do not plan to run rake doc:app.

easyhandin's People

Contributors

shilpasequeira avatar sandraloeve avatar lexman893 avatar nakisa84 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

easyhandin's Issues

Bugs

  • Check how many teams or students don’t have repos then show publish button on course show - Shilpa
  • Pick skeleton repo branch when creating an assignment and when publishing, copy code over tot he students branch.
  • Add the name from Github for an instructor without an invite?
  • Prevent students from signing up without an invite.
  • If user is of a different role don't let them signin as that role.
  • Remove dashboard route and from menu - Sandra
  • Search on the submissions
  • Add grace period if existing to the assignment partial - Sandra
  • Make build scripts use ENV not the app endpoint for the demo. - Shilpa
  • Delete user in students should not delete the user MUST DELETE ALL INVITES!!! - Shilpa
  • Can't access courses view, get this error: NoMethodError at /courses undefined method `org_name'

Student View

  • Disable and remove all forms - Sandra
  • Hide all repo urls - Sandra
  • Remove edit button for course and assignment - Sandra
  • disable form submissions in the controller - Shilpa
  • Remove View students and instructors button - Sandra
  • Remove access to /students /instructors routes - Shilpa
  • Remove moss and build test actions and buttons - Sandra
  • View courses gives an Octokit::Forbidden at /courses error
  • only allow to view published courses and assignments - Shilpa

Instructor View

  • delete invitation - Sandra
  • search students in submissions - Sandra
  • add student to a team - Sandra
  • grace period not before deadline check- Sandra

Testing

  • Performance tests
  • Unit Tests

Things to do

Style Views, (and Based on roles - later) display data

  • 1. Login - Sandra
  • 2. Course creation page - Sandra
  • 3. Course listing page - Sandra
  • 4. Assignment creation page - Sandra
  • 5. Assignment Details page with Plagiarism and Run Build buttons - Sandra
  • 6. Submission listing partial - Sandra
  • 7. Dashboard
  • 8. Submission Detail View, with test results and feedback and grade. - Sandra
  • 9. Course Detail View, with test assignments and teams list. - Sandra
  • 10. add validation to all forms. - Sandra
  • 11. Look into making the course / submissions table editable with hover that shows icons just like shown in invoice.html of the admix theme. - Sanda / Shilpa
  • 12. Try to use the dynamic table style of Edumix with accordion to display users of a team or feedback etc
  • 13. Checkbox for each submission to pick for the MOSS comparison - Sandra / Shilpa
  • 14. Student and student invitation per course listing - Sandra / Shilpa
  • 15. Instructor and instructor invitation per course listing - Sandra / Shilpa

Student / Instructors invitation and list

  • Students in a course with invitations and capability to import a csv and/or add a single student Sanda / Shilpa
  • Student CSV and invite needs only name, email, Uni ID and team(?). Sanda / Shilpa
  • Student list should include link to repository Sanda / Shilpa
  • Should be able to resend a single invite Sanda / Shilpa
  • Instructors in a course with invitations and capability to add a single instructor (We need to mention that the instructor being invited must have owner/admin access to the org) Sanda / Shilpa

Bugs

  • Figure out why page needs a refresh for javascript to work - Sandra
  • Editing a submission doesn't work because it is a nested form - Shilpa

Major Features

  • Adding submissions to an assignment whenever it is created or when a student/team is added to the course - Shilpa
  • Adding students to a course with invitation model - Shilpa
  • csv import - Nakisa
  • Team creation - Shilpa
  • Display students by team?
  • Action to run all tests for all submissions on the assignment page and MOSS plagiarism check - Shilpa
  • Split my parsers based on the assignment build environment. Start with maven project. - Shilpa
  • Plagiarism result should not public, obtain plagiarsim result from Buildkite. - Nakisa
  • A rails job that calls an operation that pulls the sha commit after deadline. Check if the deadline is different, if yes then die. - Alex
  • Publishing of a course - Alex
  • Looking into using a students github UID to give collaborator access. - Alex
  • Publishing of an assignment - Alex

Publishing of an assignment / course

  • Disable form fields that can't be changed - Sandra
  • Validation in the controller to prevent updates (other than deadline) after publishing
  • Connect the publish button to a publish action in the controller to run the composable operations.

GitHub Integration (Alex)

  • Create repo helper
  • Create empty branch helper
  • Add Permissions/Collaborators to a repo helper
  • Create a secret EasyHandin team on the organization
  • Give read access of a student repo to the Easy Handin team
  • Handle specific and general errors. Look into how to provide relevant error messages/codes to the controller.

Limitations

  • Instructor has to add the files to skeleton repo before publishing the assignment, otherwise any changes to the skeleton repo after publishing the assignments wont apply to students repo
  • The branch should not exist previously on the repository for student or team or build kite branch creation will fail.
  • Heroku free account doesn't allow delayed job worker

Manual test found bugs

1. Once your logged in as one role you will be stuck to that role!
2. Creating a course ==> name : MSS100 —> the repo is created with (wrong )
3. Creating student repos and teams should have the course name before them: 2016-CPEN - Nakisa6
4. In submission table ==> there is a github icon showing that will redirect to student submission —> but if the course is not published it should not be there (there won't be any submissions if the course is not published as an assignment can only be created when the course is published ...) guess I misunderstood the issue, scratch that

5. Add the user name on top of the app (done in PR #33)

6.Adding student not from csv ===> not adding the team option! (this is done in two steps, once the student is added, the team gets or is created, the student can be added to the team manually, otherwise this would involve a lot of checks, i would say)

7.Create a new course ==> with the same org - if one student is added to another course ==> automatically is added to the new course
8. When a user logged in and close the page ---> Try to open the page ---> will be ask to log in again --> although it does not matter and the user is still logged in as himself. (requires more info to reproduce, is he logged in or does he get asked to log in? , is a github session availabe on the same machine in another window at the time?)
9. Logged in as an instructor--> close the window --> reopen and logged in as a student ---> try to create a course --> Error (this also needs more info to reproduce especially who was logged in in github at the same time on the same machine?)
10. Some students added to course --> create a new assignment ---> meanwhile a new student accept the invitation --> ( Course should be unpublished, which is not ) error :
screen shot 2016-04-18 at 12 17 32 pm
11. Editing the assignment with no grace period ==> date picker not showing even with refreshing the page (fixed in PR #43)
12. in creating assignment page ==> Save button is not located properly (fixed in PR #43)

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.