Final Project - Ideas Brainstorming
Use the discussion below for your own brainstorming.
Here are some ideas:
- Resource Index: The idea here is to amplify (really, completely rewrite) the “booksindex” application I created. It would be incredibly helpful to have an ongoing index of Ruby/Rails resources. A resource should be able to represent a book, an article, a web page, a blog posting, even an image. It should be possible to add comments on a resource. It should be possible to vote on a resource or a comment. People should be able to log in.It should be possible to tag each resource with keywords suitable for an index. Perhaps there should be a limit of 5 tags. Then RSS or Atom feeds just be generated for single keyword or two-keyword pairs: So I could subscribe to a feed for “Java Ruby” and get updates on anything relevant to that combination.
It should be possible to add comments keyed to page numbers; and these page-number-comments, which might be managed separately from resource comments, should be aggregated by resource and keyword so that I can see a list of page-number-comments on a particular topic (everything on Java, then sorted by resource and page number).
The management of resources could be done through STI (single table inheritance — see AWDR).
- Dynamic Syllabus: This would be an editable syllabus for a course like this one. There would be users. Users would need to have roles: Students, Staff, Instructor, Visitor, etc. It should be possible to see the Syllabus without logging in, but some parts of the Syllabus would only be displayed to users with certain roles. Roles might be ordered (e.g., Instructor > Staff > Student > Visitor, so that you can say that a page element must be “Student or above”). Another way to model it would be to have capabilities, and then associate capabilities with Roles (e.g., a Staff member can edit anything; a Student can edit his own comment; etc.). By this means you can have roles like Instructor and Staff whose capabilities overlap.Staff members should be able to create and/or edit the syllabus for a single day, and add items such as: A title; a longer description; a list of required readings.
It should be possible for staff members to manage their own parts of the syllabus, too. E.g., a staff member has a section, and wants to be able to describe what will happen in section.
RSS/Atom feeds should be generated for two things: NEW content; and other feed for CHANGED content.
- Idea from Y Combinator: Pick an idea from the Y Combinator List (http://ycombinator.com/ideas.html) and build some of it. Note that some of the ideas are obviously not feasible for a course like this.
- RubberDucker: (See http://creatingminds.org/tools/rubber_ducking.htm) This would be an application where you type a description of your software problem into a box, and while you’re typing, it would capture what you’re typing (with Ajax). Then it would do two things: Your rubber-ducking would appear on a “monitoring” page so that others could type into a box under your comments with suggestions (like: “Have you thought about not using that XML parser?”); those comments would flow back into your page (again, Ajax). Another pane under your typing would show dynamic search results from programmer resources such as StackOverflow (http://stackoverflow.com/).
blog comments powered by Disqus
Add New Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Add New Comment