Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Grails application to manage enrollments for Small to Mid-Size Classes
Groovy JavaScript
Branch: master

Fix bug with classSession/show with lessonDateID

Students were not showing up in the attendance list
latest commit 8bfbdc3f9b
@NathanNeff authored


What is Enrollio?

Enrollio is an open-source application that tracks enrollment and attendance for small-to-medium size classes. Ideal for groups of up to 20 students or participants.


A live demo of Enrollio is here:


  • Maintain a list of people interested in your classes
  • Enroll new students according to signup date
  • Print welcome letters for new students
  • Track attendance and print graduation certificates

Who would use Enrollio?

Consider using Enrollio for the following scenarios:

  • Teaching a 6-week training course
  • Administrating summer classes
  • Tracking enrollment/completion of safety training
  • Tracking meeting attendance

Enrollio is currently being developed for use at St. Louis Bworks.

Bworks is the umbrella organization for Byteworks and Bicycleworks located in Saint Louis, Missouri

Byteworks and Bicycleworks are volunteer organizations that strive to help inner city children reach their full potential.

Byteworks offers the "Earn A Computer" program where students take six computer-related classes, and are awarded a free computer upon completion of the six classes. Bicycleworks offers a similar "Earn-A-Bike" class.

Please see for more information

Enrollio's purpose is to help Bworks maintain its student database.

See Also

  • Please see DEVELOPER_NOTES.markdown for notes on how to setup, test, and contribute to Enrollio.

  • Grails 1.2 (

PDF Plugin

JQuery Voodoo Features

Date Picker

  • Creating Class Sessions:
    • Date Picker when creating Class Sessions will update all the LessonDates with newly selected date, in weekly increments
    • If user selects a different Program for a new Class Session, LessonDates Ajaxily downloaded for the new Program, and given dates that adhere to any startDate the user already selected

Grailsy Voodoo Features

Tag Libraries

Enrollio has a slick Tag Library which loops through all available Programs, and returns a checkbox for the program which is checked/unchecked depending on whether the student is already interested in the Program.


Thanks to the following sources for providing code examples, etc

Contact Phone Numbers

Addition of dynamic contact phone numbers was provided by:


The "Problems" section can be used to point out things in Grails or Enrollio that were confusing, time-draining or otherwise not really fun to develop. We can use this section to identify things we'd like to improve as we continue our mastery of Grails and subsequently the rest of the Universe.

Data not persisted immediately in BootStrap

I had problems in the bootStrap when saving test data, and then trying to retrieve it immediately, due to the flush:true not being specified when saving DOs

Obscure errors when quotes missing

When calling the interestCheckBoxes tag library, I had a quote missing from the 2nd param, and received a less than helpful message. Something like this will reproduce the problem:

Something went wrong with that request. Please try again.