Online school grading & report card system.
Ruby JavaScript
Pull request Compare This branch is 50 commits ahead, 100 commits behind rnhurt:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
config
db
doc
lib
public
script
test
vendor/plugins
.gems
.gitignore
LICENSE
README
README.rdoc
Rakefile

README.rdoc

Gradesheet

Introduction

GradeSheet has been designed to give teachers all the tools they need to record student grades. It is web based to make it easily accessible to everyone. Students and parents can log into the system to check on their grades and even communicate with their teacher(s).

Helpful links

Requirements

  • Ruby 1.8 (working on moving to v1.9)

  • Rails 2.3.5

  • Dependencies (aka Rails plugins):

  • will_paginate - Most awesome pagination system for Ruby

  • Authlogic - A clean, simple, and unobtrusive ruby authentication solution.

  • validates_existence - Rails plugin that provides a validates_existence_of method for ActiveRecord models to check existence of records referenced by belongs_to associations.

  • validates_date_time - Rails plugin that provides an easy way to validate dates and times

  • Prawn - PDF framework for report generation

  • Prawn-Layout - An extension to Prawn offering table support, grid layouts and other things.

  • Prawn-Format - An extension to the Prawn PDF generation library that allows you to use HTML-ish tags

Installation

This is a typical Ruby on Rails project and it is installed just like any other RoR project. Since most of the development/testing is done on Debian & Ubuntu, it will be simpler to get up and running if you are using one of those OSs. However, it should run on any system that runs Rails.

  1. Get the source code (github.com/rnhurt/gradesheet/tree/master)

  2. Add the dependencies noted in the Requirements section

  3. Modify database.yml to point to your database

  4. Run rake db:migrate to create the database schema

  5. Run rake gradesheet:admin to create admin super user

6 Edit config/gradesheet.yml with SiteName and TagLine to be displayed in App 7a. Run rake db:fixtures:load to load the text/fixtures data. (safe only for dev/test) 7b. Alternately Load Sample Data rake gradesheet:sample (does not use fixtures)

  1. Run ./script/server to start the development web server

  2. Fire up your web browser and point it to localhost:3000

Building Documentation

Gradesheet is documented using the standard, built-in RDoc system. To build the documentation with the just run the command:

rake doc:app

However, to build better looking documentation you might want to use this command:

rake doc:app_horo

which uses the Horo template and results in documentation that is much easier on the eyes.

Testing

Currently, Gradesheet tests are written using the standard, built-in test framework. However, RSpec looks very attractive and when I get a bit more time I might move them over to that. In the meantime, just use the standard Rails testing commands to run the test (rails test:units, etc.)

I've just been turned on to Webrat and am very impressed with it and all of the integration tests (or the majority of them) will be soon converted to it. So, if you want to run the full test suite, you'll have to install Webrat.

Professional Support & Maintenance

If your interested in using Gradesheet in your school but don't want to install and maintain it yourself, consider using a KangarooBox server appliance running Kookaburra (the commercial version of Gradesheet).

Legal Information

Author

Richard Hurt

Copyright

Copyright © 2008-2009 KangarooBox, LLC

License

GPL-2. See LICENSE file in this directory.