Codebrahma / gurukul

The science of skill enhancement.
http://gurukul.codebrahma.com
0 stars 0 forks source link

Models #2

Open sanandnarayan opened 9 years ago

sanandnarayan commented 9 years ago

Kamesh, please create the necessary models and push it here

aalavandhan commented 9 years ago

@Kameshwaran Can you please add some association specs?

Kameshwaran commented 9 years ago

I'm doing it. will push the code.

aalavandhan commented 9 years ago

Address the comments, please.

aalavandhan commented 9 years ago

UserCourse -> associates the Course taker and the course. How are the Course maker and the course associated. Shouldn't there be a user_id on courses? course belongs_to :user, :as => :author

aalavandhan commented 9 years ago

Furthermore if you check this wireframe. You may notice a link stating the rediness of a course taker to take a test. This should trigger an email to the course maker.

Each course taker should have a course_status. This course status should indicate whether,

  1. The user has started preparing for the course.
  2. The user has scheduled the test.
  3. The user is taking the test.
  4. The user's test scores are being processed.
  5. The user has completed the course.
  6. The user has to redo the course.

We can listen to changes in this course_status on user_course, and trigger emails or other events accordingly.

What say @Kameshwaran?

aalavandhan commented 9 years ago

Why is the status field on test_reports a string field?

Won't it be better to have a constant table called test_report_statuses listing all possible statuses and linked to test_resports through a test_reports_status_id?

Ennanga @Kameshwaran correct ah?

Kameshwaran commented 9 years ago

@nithinkrishna There are only two possible values for status(pass/fail). Why do we need to create a seperate table for this? And i didn't connect the course maker with the course. I can do that.

aalavandhan commented 9 years ago

Vaild point. But, What if we decide to have multiple statuses for a test. Change from the pass / fail system to objective scoring? That's why I suggested a seperate table.

Kameshwaran commented 9 years ago

@nithinkrishna Cool man. we need this app to as simple as possible with the necessary functionality. that's why i did like that.

Kameshwaran commented 9 years ago

@nithinkrishna checkout the dev branch dude :)

aalavandhan commented 9 years ago

Track updates to this issue here.