This application allows research institutions and their contract administrators to easily track pending and executed Material Transfer Agreements. More about this on ezMTA.
Special Features of the Application
- Multiple Accounts
- Multiple Users per Account
- Two roles of users, administrators and regular users
- File Attachments
- Notes that can be sent via e-mail
- Online payments with credit cards
- Billing takes place every 30 days since Account registration
- Each Account belongs to a Billing Cycle Day
- Automatic charge of Account credit card at the billing date
- Multiple price plans
- Linux distribution (Debian 6)
- Ruby on Rails
- Hosted on Amazon cloud
Ruby on Rails Special Considerations
- paperclip. Used to upload files for attachment.
- remotipart. Allows AJAX file-upload.
- paper_trail. Tracks changes on data.
- Twitter Bootstrap. Front-end framework for faster and easier web development.
- jQuery and jQuery UI
- simple_form. Used to ease the form creation in Rails.
- delayed_job. Used to process asynchronously long running jobs, out of the http request processing cycle.
- cancan. Authorization framework.
- bootstrap-wysihtml5-rails. A WYSISWYG editor for Twitter Bootstrap
- kaminari. Used for pagination.
- RSpec. For Behaviour Driven Development.
- Factory Girl. For factories of objects while testing, instead of using fixtures.
- Database Cleaner. For cleaning up database before every test.
- validator_attachment. Used to check whether specific validators are attached to a model.
- simplecov. For test coverage report.
- capybara. For testing the UI.
- capistrano. Used for automatic deployments.
- new relic. Used for real-time process monitoring.
- About 2 months
- About 30 models
- About 20 tables
- About 20 controllers
- About 1300 tests
- About 1800 lines of code