I'm trying to make a 'learning' site, something similar to Codecademy but for a small company. The setup at the moment is that I have a Training channel, with description and courses channel fields. Courses is a grid field with the name and title of the resource (so a book or video etc) and also a checkbox that will show whether the user has completed that resource. The channel entries will be for example, 'HTML' and then the description will be a little bit about HTML, and the grid will contain a list of books, videos etc about learning HTML.
I can set up with jQuery and AJAX to check whether the checkbox should be checked from the database, but the issue is that different members will have different things completed. What's the best way to organise the data so I can record who has done what? Would it be easier to do a separate channel for the resources and use relationships to link it to the types of training, then relationships to the member ID for the checkbox?