School administration app for Ruby Mendicant University
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 635 commits behind mendicant-original:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


University Web

This Ruby on Rails application provides facilities to support a community of teachers and learners. It currently offers the essentials needed to manage multiple courses, and we are now also developing other features for enabling members of the community to work together.

University Web is developed by the Ruby Mendicant University (RMU), a rapidly growing online learning community, and it is our core infrastructure. We expect it to become potentially useful to other organizations, and hope that it will be adopted elsewhere as it becomes mature.

Whether you are a member of RMU or a developer interested in systems for learning and education, we encourage you to check out the source code:

If you are not a member of RMU, please get in touch through our public channels:

Key Features

University Web is very young but it is constantly improving. The following key features are already in use on our Website:

  • Administration of course admissions

  • Course management

  • Assignment tracking

  • A clean and user-friendly interface for students

  • IRC channel integration


University Web is a standard Ruby on Rails 3 application. It does require a number of additional gems, so if you use RVM, we recommend that you create a separate gemset specifically for this application.

University Web runs on PostgreSQL databases. Though it does not currently rely on any PostgreSQL-specific features, it likely will in the future. Other databases (e.g. SQLite3) may work, but they have not been tested and are not supported.

Always use the latest source code: We are constantly working on this application, with bug fixes and new features added daily, so please use the very latest source code.

Setting Up a Development Copy: Step by Step

To install a development version of University Web, follow these steps:

  1. Fork our GitHub repository:

  2. Clone the fork to your computer

  3. If you use RVM, create a new gemset: rvm gemset create uni-web

  4. If you use RVM, switch to the new gemset: rvm gemset use uni-web

  5. Run bundle install to get all of the dependencies

You will see an error when the pg gem installs unless you have PostgreSQL installed on your system. Ignore this if you intend to use another database, such as SQLite.

To configure University Web:

  1. Create a database.yml file in config. The config directory contains an example database.yml for PostgreSQL.

  2. Run the Rails tasks to initialize a development and a test database:

  • rake db:migrate

  • rake db:test:prepare

Finally, run the test suite to make sure everything is working correctly:

rake test

Using University Web


  • University Web user accounts may be either admins, students, or guests.

  • Every account is identified by email address.

  • The admin users may access all of the management features of University Web by choosing Administration from the navigation menu at the top of page.

  • The management features of University Web enable admin users to perform the standard task for running courses, such as creating other user accounts for students and guests, defining the courses and managing assignment submissions.

Terms and Exams

  • Each term is a group of one or more courses.

  • To create a new term, login as an admin user, and choose Administration > Terms > Create Term.

  • Optionally you create an exam for the term, such as an entrance exam.


  • To create a new course, choose Administration > Courses > Create New Course.

  • Once you have created a course, use the course form to attach a user to it as an instructor, along with students and assignments. The next section explains assignments.

  • You may group courses into terms. Courses don't have to be associated with a term.


  • Each course may have one or more assignments attached to it.

  • To create or manage assignments for a course, choose Administration > Courses, click on the Assignments link next to the name of the course, and choose Create New Assignment.

  • Once an assignment has been created, some or all of the students in the course may then be set that assignment.

  • The students may use the University Web interface to submit work for an assignment.

  • The course instructor can then review the submissions for an assignment, and take appropriate actions, such as commenting or marking the assignment as completed.


FIXME: This probably needs to mention Pivotal Tracker

Contributors retain copyright to their work but must agree to release their contributions under the Affero GPL version 3

If you would like to help with developing University Web, please get in touch! Our contact details are at the top of this file.

Here is the ideal process for fixing a bug or a developing a new feature:

  1. Fork our repository and set up your development copy of University Web, as explained in the previous section

  2. Open a ticket on our GitHub issue tracker

  3. Make a change to the code, including appropriate tests

  4. Ensure that the test suite passes on Ruby 1.8.7 and Ruby 1.9.2

  5. If your change affects something in this README, please update it

  6. Push the changes back to your fork on GitHub

  7. Send a pull request through GitHub


We use test/unit with contest and stories for testing, with Mocha for mocks support. Acceptance tests are developed with Webrat.

The standard bundle install process automatically downloads this stack. If you have any questions about these tools, please just ask.

University Web - a Ruby Mendicant University project