Group Randomizer
Design: The design isn't the most important here but a simple mock-up is included in PPT. The design will be added once functionality is complete.
Concept: Build a one-page web app that creates random groups and then emails a file containing the groups to the user. User can specify at least one distribution group that should be evenly placed.
Coding Language: ASP.NET using VB, SQL Server 2005 or 2008 or MySQL
Use Case:
Classroom teacher has a file with over 500 students and needs to randomly assign these students to groups with representation of each grade level within the groups
File layout - name or student id, grade, teacher name
Scientist/Student/Researcher has to assign control/placebo groups and uploads complete list of names which need to be randomly assigned into two groups with evenly distributed male/female distribution
File layout - Subject number, Male/Female
Steps:
Upload file. (CSV or Text File)
Read file.
Put file in datatable or temporary table in database
Present field names in distribution column drop down list and allow user (optional) to select which field needs to be present in all groups. The groups will evenly distribute this field within all groups. (For instance if groups should have an equal number of males and females...as much as possible, meet this criteria)
Ask user for number of groups desired.
Ask for email address with terms and conditions agreement which allows us to send advertising.
Create groups.
Send email to user containing file with groups.
Code:
upload & parse text/excel file
Put data into data table (MYSQL or SQL Server) adding randomizedvalue column and group column (can use dataset versus table if prefered)
Count records
Divide records by number of groups to get how many in each group
Randomize contents first - update record with randomized value in randomizedvalue field
Count number of variables in distribution field and then use that as the loop upper bound
If parameter chosen go through number of distribution elements and add person to each group
Loop through records sorted by randomized value
Loop through each distribution field and add to group
Next parameter until all are satisfied
Last pass evenly distributes who is left that did not have a value in the parameter field
If parameters not chosen, count users and put in groups sorted by random update group column with group name (one less loop required)
Add email address to marketing database if not already there (insert), if already there, add 1 to iTimesUsed counter, log last dateused, log IP address from which the user requested the file
Create csv file
Send email to user with file
Delete data from table and delete file from system after emailing
Table - SQL Server:
tblEmail
iEmailAddressID (identity field)
sEmailaddress (varchar(255)
dDateAdded (datetime)
iTimesUsed (int)
fromIPAddress (string)
Finishing Up:
After signing off that functionality works, credentials will be provided where the code can be uploaded to production site. Credentials will be provided to ensure connection to database. If prefer to log to live environment, credentials can be provided after project is awarded.
Email credentials will be provided to send email once project is awarded.
Hi,
I have questionsIn regarding your requirements:
1. When display the option to evenly distribute, does the page need to rule out option like "student name, id" etc...? If yes, what field will be rule out?
2. In the file layout of Scientist/Student/Researcher do we have a column Name or Student ID?
3. Do we distribute only in one field or can be 2 or more (i.e. distribute evenly male/female and subject number?)
Regards,
$150 USD en 3 días
4,8 (12 comentarios)
5,5
5,5
8 freelancers están ofertando un promedio de $185 USD por este trabajo
Hello,
I am very much interested to do this work by ms sql server 2008 with asp.net & vb.net as i am experienced a lot with these. I think i can do your work efficiently. Looking forward to have a positive response from you.
Thans
Hi,
I am experienced .net developer. I can work on this project in .net VB (vs 2010) and MS SQL server 2012 ( can generate script which will run on 2005/2008)
Thanks
Hello,
Based on the looks of it you, i started thinking that most likely you would not need this anymore. However, I could do such a task if I was there at the right time :)
Wishing you a great day,
Oskars