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:
-
IRC: #rmu
-
Twitter: #RbMU
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. Other databases like MySQL or SQLite 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.
To install a development version of University Web, follow these steps:
-
Fork our GitHub repository: github.com/rmu/university-web
-
Clone the fork to your computer
-
If you use RVM, create a new gemset:
rvm gemset create uni-web
-
If you use RVM, switch to the new gemset:
rvm gemset use uni-web
-
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.
To configure University Web:
-
Create a
database.yml
file inconfig
. Theconfig
directory contains an exampledatabase.yml
for PostgreSQL. -
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
-
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 tasks for running courses, such as creating other user accounts for students and guests, defining the courses and managing assignment submissions.
-
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:
-
Fork our repository and set up your development copy of University Web, as explained in the previous section
-
Open a ticket on our GitHub issue tracker
-
Make a change to the code, including appropriate tests
-
Ensure that the test suite passes on Ruby 1.8.7 and Ruby 1.9.2
-
If your change affects something in this README, please update it
-
Push the changes back to your fork on GitHub
-
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