Every repository with this icon (
Every repository with this icon (
| name | age | message | |
|---|---|---|---|
| |
.gitignore | ||
| |
Capfile | ||
| |
README.textile | ||
| |
Rakefile | ||
| |
app/ | ||
| |
config/ | ||
| |
db/ | ||
| |
doc/ | ||
| |
lib/ | ||
| |
log/ | ||
| |
public/ | ||
| |
script/ | ||
| |
test/ | ||
| |
vendor/ |
Pick Me
A simple app to match sponsored gifts to group members; a raffle manager.
Background
As the organizer to the local ruby users group I occasionally have gifts available for raffle. Using this app I want to be able to have a member sign-up for the meeting’s raffle and have the app select a winner.
Policy
Once a member signs up they are eligible for all raffles. However, if a member wins a raffle they will be excluded from the next raffle. A member does not need to be present to win. A member must come into the next meeting to claim their gift. A member can pass on the gift, putting it back into the raffle prize pool. If there are stipulations or constraints for the gift they will be posted during member sign-up.
The email addresses will be used to notify interested parties of Gift selection.
User Scenarios
- As a Member I can provide my name and email address so I can be notified if I’m selected as a raffle winner.
- As a Member I can not win a raffle if I already won one within 30-days.
- As an Admin I can add Sponsors (contact name and email address) so they can be notified of the raffle winner.
- As an Admin I can add Gifts to Sponsors.
- As an Admin I can not win a raffle.
- As an Admin I can create a Raffle.
- As the application I can select a random winner from the available pool of Members, notifying interested parties of the selection.
Domain Model
User
A User for authorization is provided by Clearance. The PickMe User will add a Name and Last Won On attributes. A User can have zero or many Gifts. A User will also record the date they won a Gift. Admins manage Users. A User can participate in zero or many Raffles.
This document will use Member and User interchangeably.
Admin
An Admin is a special User that has access to the Sponsor and Gift management functionality.
Sponsor
A Sponsor will have a company name, contact name and email address. A Sponsor can have zero or many Gifts. Admins manage Sponsors. A Sponsor can participate in zero or many Raffles.
Gift
A Gift belongs to a Sponsor. A Gift belongs to a Member. A Gift will know if it’s part of a raffle. A Gift may have constraints or stipulations that must be met before a winner can take possession. Admins manage Gifts. A Gift will have a description. A Gift, via its Sponsor, can be in zero or many Raffles.
Raffle
The selection of the Gift to give away and the random selection of eligible members; notifications are also generated. Admins manage Raffles. A Raffle can have one or more Sponsors, and by proxy, one or more Gifts. A Raffle will have a raffle date. A Raffle will have a description. A Raffle will have zero or many Members. A Raffle will have zero or many Sponsors. A Raffle will have zero or many Gifts.
Notes/Questions
Won't we need a way to select which gift is available for raffle? Once a gift has been won it shouldn't be available for another raffle; if it hasn't been won or claimed it will be put back into the pool. Can a member sign-up but not want to be in the current raffle? What about SMS notification? Need to think more about selecting eligible members and dates and raffles. [RAILS] Need to override model_generator.rb to NOT use fixutures if factory_girl is available. [RAILS] Any generator that creates fixtures needs to be overridden. Breadcrumbs?
To Do List
- [DRY] Need to DRY up my controllers! Options?
- [TEST] Controller Tests








