Agile Web Development with Ruby on Rails
Exercise 5
Course Registration System ("Ilmo 2.0") - fourth iteration
Exercises (features to implement)
Required features
You should have these features implemented at the exercise session. You get 1 point for each implemented feature.
- 1p: User can register to a exercise group
- Implement as you wish, but I would suggest a
has_many :through
approach.
- Each group shows which users have registered to this group.
- User can only register to one group / course implementation
- You NEED a join table between users and exercise groups (many-to-many relationship)
- 1p: It is possible to send mail to users who have registered in a exercise group
- Some sort of GUI for sending
- Action Mailer is recommended for this
- 1p: Newsfeed (facebookish)
- When user has registered in a group, then everybody sees "John is attending Theory of Computation, Autumn 2009" on the front page (newest on top)
- Simple implementation is enough: a "Newsfeed" model or similar, where one row in the database is one event in the system.
- Events when..
- New user account is created
- New course is added
- User registers to a exercise group
Optional features
You can select three of the following:
- 1p: Multiple exercise groups
- If course instance is set so that user can register into multiple exercise groups, then it should be possible
- Course instance defines maximum and minimum number of exercise groups for this instance
- Administration is protected
- Either: 1p: Administration is protected by boolean field in user
- If you did not implement any administration at the last iteration, then do one that one page for email sending or something else.
- Or: 2p: Administration is protected by roles
- User has many roles, where one role would be named as "admin"
- Or something similar, like a rails plugin
- 1p: RSS-feed for Newsfeed events
- Atom, RSS any format you like
- 1p: Profile image uploading
I want to become an expert (+1credit)
It's okay to miss 1 of these, you need to have 4/5 times implemented if you want to have +1credit
- Required features
- Administration role protection
- Profile image upload