Check out the network.
The Mechanical MOOC is a simple web application to help with running online classes via mailing lists. It allows you to coordinate many groups of arbitrary size, giving each group it's own discussion mailing list. It accepts sign ups, stores relevant meta-data, and can collect survey-type information. There is no built-in functionality to place participants into groups but it does provide all of the mailing list configuration and management once users are added to groups.
- Understanding of Ruby, Sinatra, & DataMapper
- Heroku account
- Mailgun account
- Deploy the applicaiton on Heroku
- Set the
MAILGUN_API_KEY
environment variable - Collect signups
- Add users to groups from the console using whatever logic you like
- Email the groups and watch the discussions happen
You can extend this application to automatically group users based on any criteria. Alternatively you can create groups manually at the ruby console.
In this example, we're splitting the users into groups of 10 based on the order that they signed up in:
require './mooc'
Users.each_slice(10) do |ten_users|
g = Group.new
ten_users.each do |u|
u.group = g
u.save
end
g.save
end
Each Group
has a numeric id. Mailing list addresses are in the format python-group.id
@mechanicalmooc.org. The group name and domain are currently hard-coded but can easily be extracted into environment varaibles for re-use. Only list members can post. To get around this [email protected]
is added to every list. To send as the machine, just send an email from that address.
The Mechanical MOOC is available under the MIT License. Check out LICENSE for more info.