Cilantro Wiki

Welcome to the Cilantro Wiki
Welcome to the Cilantro Wiki, the official wiki of the Johns Hopkins 600.392 cilantro team project!

Our team members are:

Kirk Sabnani

Maddie Stone

Siren Wei

Roger Xu

Our project
We are working on an online course / team management system that's a tad bit different from what most existing systems offer. For example, teams can be formed randomly, interactively, or based on preferences; they can reform for each assignment/project. Submissions can be graded automatically, interactively, with or without instant feedback. Meetings between students and course staff can be arranged in a straightforward manner. (Some implementation constraints exist as well.)

From Meeting 5/4/12
Editting Teams (Pick Teams by Staff) -- Priority: 1 Cost: 12 Assign Random Teams -- Priority: 3 Cost: 8 Assignment Creation: Script Grading -- Priority: 4 Cost: 3 File Submission -- Priority: 5 Cost: 15
 * 1) TA and Faculty have capability
 * 2) Reconfigure teams regardless of set configuration
 * Team Model = 6
 * Adding/ Deleting Members in Groups = 6
 * 1) Runs on Activation Date
 * Team Model = 6
 * Process to Group Teams = 2
 * 1) Faculty selects they want script to run
 * 2) Uploads script
 * 3) .zip only, uncrompresses into temp dir, copy script into temp dir, then run (script takes care of the rest)
 * 4) Receives one parameter: here's where student's submission is
 * 5) Exit: 0 --> Good, 1 --> Bad and Check output
 * 6) Output: Errors
 * User Interface
 * Upload Text (Script) - 3
 * Check Exit Status of Scrip, display output if unexpected output
 * 1) Student Submits File
 * 2) If Script --> Run Script
 * 3) Every person on team needs to see submission
 * 4) Allow to submit infinity times until deadline
 * User Interface --> Upload Submission: 3
 * Unpacking Archive: 1
 * Saving in Unique Path: 2
 * Run Script: 2
 * Parse Output and Sends to User: 7

Profile Page -- Priority: 6 Cost: 14 Repository Control System -- Priority: 7 Cost: 14 Students Select Teams -- Priority: 8 Cost: 28 Replace Log-In/Log-Out with JHED -- Priority: 6 Cost: 200
 * 1) Students: Courses, Assignments, Notifications (Currently only from team process)
 * TAs: Courses, Assignments, Notifications (from Students requesting to join course)
 * 1) Faculty: Courses, Assignments, Notifications (only from TAs requesting to join course)
 * Display Courses by Academic Period = 2
 * Display Assignments by Soonest Due = 2
 * Message System = 10
 * 1) Creat Repository
 * 2) Email Team Member with Password and Username
 * svn commands: 3
 * Add User Credentials: 2
 * Email User Credentials: 2
 * Interface/ Templates: 7
 * 1) Send invitation to Students in Team
 * 2) If accepted, on team
 * 3) If declined, still free
 * 4) Allowed to inite until team = full number of members
 * 5) No limit on invites (min or max)
 * 6) Student not allowed to change once in a team
 * 7) Expiration Date
 * Team Model = 6
 * Message Model = 10
 * Approval/ Decline Invitation = 10
 * Active Requests Need Expiration = 2
 * 1) Use Hopkins Log-In Registry

Finished User Stories:
-



Install System -- Cost: 4.5
 * 1) Create default administrator (initial administrator)
 * Link to initial installation page
 * SQL Server = 1======


 * Table Schema: ID, JHED, Classification, Timestamp
 * HTML = .5
 * Login with JHED ID = 3

Log-In/ Log-Out -- Cost: 2


 * 1) User Hopkins Log-In Registry (JHED)


 * 1) Log - Out


 * 1) Distinction between user types

Registration Page -- Cost 4 Enroll in Course --  Cost: 9 Edit Enrollments -- Cost: 6
 * Log - In with JHED = .5
 * Log - Out with JHED = .5
 * Open homepage (may or may not have any info) = 1
 * 1) New Users to Join the System
 * 2) Option on Log-In Page
 * 3) Register w/ Email, PW, 1st and Last Names
 * 4) Make sure valid Email
 * 5) Verification of Email Link
 * New Application in Django to add credential to User's Table = 2
 * Verification of Email = 2
 * 1) Profile Page
 * 2) Choose Course and Request Faculty approval (To be a TA)
 * 3) Choose Course and Request Faculty/TA approval (to ba a Student)
 * Profile Page = 3
 * Select Course with Approval = 5.25
 * Add to User's Course List = 0.75
 * 1) Administrator: Confirm Faculty, TAs, and Students
 * 2) Faculty: Confirm TAs and Students
 * TAs: Confirms Students
 * Pending Approvals Page = 2
 * Backend Side = 0.5
 * Switch/Case based on Classification
 * If approved: Add UserID/Classification to Course = 1.5
 * If approved or rejected: Alert (1.5) and Delete from Pending Queue (0.5) = 2

Create a Course -- Cost: 8
 * 1) Faculty request admin approval for new course
 * Edit Profile = 1.5
 * Request Approval from admin to add a new course -- user is faculty = 3.5
 * Add course to course list post approval = 1
 * Create Course Listing = 1
 * Add to User's Course list = 1

Drop Course -- Cost: 2
 * 1) Teammates Receive Notifications
 * 2) Faculty Receive Notifications
 * Delete Role = 2

Create Assignments -- Cost: 10 Drop a Course -- Cost: 2
 * 1) Title
 * 2) Due Date
 * 3) Individual, Team, or Pair
 * 4) Date when assignment becomes Active
 * Assignment App
 * Creat App =5
 * Edit Info = 5
 * 1) Teammates receive notification
 * 2) Faculty receive notification

Changelog
Changelog for week 1

Changelog for week 2

Changelog for week 3

Changelog for week 4

Changelog for week 5

Changelog for week 6

Changelog for week 7

Changelog for week 8

Changelog for week 9

Changelog for week 10

Changelog for week 11