== Timesheets In this small Rails application, the user is presented with a simple interface for entering time against a set of projects, each with different activity types associated to them. The user can navigate between weeks or jump to a particular timesheet using timesheets index page. The user can save a partially completed sheet and resume entering time into the sheet later. Plugins used: * Authlogic (http://github.com/binarylogic/authlogic) for user registration/authentication * Spec::Rails (http://rspec.info/rails/) for testing with Autotest * Dataset (http://github.com/aiwilliams/dataset) to generate test data using Ruby code instead of fixtures * Shoulda (http://github.com/thoughtbot/shoulda) for simplifying model specs via "should macros" (see spec/models/*_spec.rb) This application also borrows heavily from the ideas in the complex-form-examples repository by `alloy` on GitHub: http://github.com/alloy/complex-form-examples == Dependencies Authlogic, Spec::Rails, and Shoulda are configured as gems and can be installed by using `rake gems:install`. Dataset is distributed with the code under `/vendor/plugins/dataset`. == Getting Started All datasets can be loaded into the development database by issuing the following rake command: `rake db:dataset:load`. This will create two users: 1. `ben/benrocks` 2. `zack/zackrocks` Each of these users have pre-defined timesheets. There are also two pre-defined projects, "ProjectX" and "ProjectE", each with their own activity types. These can be managed at `/projects` by a logged in user. Timesheets can be accessed by date, e.g. `/timesheets/2009/4/13` will render a form to edit the logged in user's timesheet for the week starting April 13, 2009. If no timesheet exists, a new one is created and presented for editing.
enricob/timesheets
A little toy application I wrote to test my abilities. Took about a week and a half and was the first time I'd ever used Rspec, Dataset, and Shoulda.
Ruby