...
Our work on the back-end consisted of implementing the functionality behind the house job management and room reservation systems. This consisted of writing Ruby code to dynamically change the UI based on the database and to perform data validation on user-submitted data. We used a Sqlite3 database and designed a relational schema to properly manage and persistently store the site data. We also used two different Rails plugins that provided critical site functionality. We implemented a fully-functional user login and session authentication system using Authlogic and an extensive Admin Panel using Typus. These two. The design decision to use a Rails framework was motivated by its ease of use, as well as the clearly-delineated framework it provided, which helped us mentally and physically separate our work on the user interface and the back-end. JavaScript and jQuery were used for AJAX server calls.
Work on the front-end user interface chiefly consisted of changing the HTML structure and CSS layout of the site. Rails allowed us to separate common site-wide elements to a single layout, helping us divide the user interface into separate components, useful for designing and debugging. This also spurred our decision to move the links to the user profile and to logout to the main navigation tab bar, in order to maintain visual consistency and to save space. We spent a significant amount of time working on the CSS, individually modifying elements on the site in order to improve site-wide visual consistency and clarity. We made extensive use of jQuery and JavaScript for animation and small visual touches to improve the feel of the site (e.g "Reserve a Room" button). We also spent some time in image editing programs to work on custom images for our site, such as the newly-added banner crest.
During implementation, we tested and retested our site, checking for usability problems and bugs, following the iterative pattern of design. Overall, we felt that using Rails helped us abstract our design into separate parts, helping us focus on different individual parts with ease.