Andy Whillans

Host Teams: Roseann Spitznagel
I was very interested in Jason Shifflet and his discussion about pikimal. I've wanted to get into different Web Development Frameworks for a while, and he had a lot of good things to say about Ruby on Rails, which I've heard elsewhere. I want to make a site built by Ruby on Rails in order to explore its abilities. I'm still looking for ideas of what the project's end goal will be, but I want it to involve some sort of user interaction with AJAX and interactive fields. Maybe a sort of simple review system which is dumbed down.

Milestone 1

Set up environment - 1 Week+
- linux/windows OS
- web server up and running
- Ruby installed and funtional
- test pages working
- read documentation, books about ruby and databases
- JCU linux server? Personal computer or lab computer

*Update 4/8*
Have the environment set up on my personal computer. Running Rails w/SQLite on Ubuntu. I've been playing around with tutorials and understanding the Rail Model View Controller idea. The schemes for the database design are incredibly convoluted, I will need some advice, from Dr Seiter perhaps. I hope to have a design for the database in the next few days in order to begin actually writing code. This seems to be the hardest part of the project.

Milestone 2

Design Databases - 1 week
- Relations between classes
- Create default data
- CS classes
- relationship between required classes and general major classes

*Update 5/1(completed by week of 4/17 but not recorded until now)*
Database designed, tables and relationships established. Tables include: Courses, Course_sets(a way to create a list of required courses), rqd_sets(able to list multiple sets to a major), departments, and majors(more than one major for a department). According to the MVC architecture, a model, view, and controller was created through scaffolding for each table. This including the ability for CRUD(create read update destroy) in the web page.
Design of database:


Milestone 3

View - 2 weeks

- dynamic display , simple viewing
- selection between bulletins(07-09), (09-11)
- major selection
- Checkbox of classes already taken
- resulting view of table showing classes taken and ones which need to be taken
- AJAX highlighting0
- table split according to major’s requirements
*Update 5/1*
View for most pages created. Created dropdown menus for each create action which references a foreign key(e.g. must choose an existing major when creating a course). Pages exist to allow a user to pick their major and pull all the required classes for that major into a table with checkboxes. In the process of creating a sufficient query to compare the selected courses via checkbox with the existing data in the rqd_sets and course_sets menus. At this point I'm going to push the ajax highlighting back until I can get the query to work.

Milestone 4

Other, testing
- ruby will allow for quick deployment, alterations
-new majors can be added quickly
-should work for general credits as well
*5/1 CRUD web form allows for these changes*
Improvement in layout over current bannerweb
- should avoid confusion over classes
- which ones meet certain requirements
- table view should make it easy to picture

Not designed for security
- will be anonymous, no personal info recorded on database
- open application designed as a tool to help planning, not a replacement for Banner
- available for students, professors equally
*5/2 query works, creating form_helper to output data into tables *

5_5 Table output completed successfully. All basic functionality of the website is complete. The flexibility of rails will allow for future changes to be made without changing too much hard code. I'm pleased with the results of the project. There was a pretty big learning curve in terms of getting my hands wet with rails, but that allowed me to see the features first hand. I think the benefits would be most obvious in a larger project. There are many powerful tools and attributes which would make creating functional pages simpler. Ruby is clearly centered on a Object-oriented style, making the design less of a headache.

Looking back at my code, it is clear there were many instances where I did not follow the MVC idea. Working with it more and more however, I realize some of the main benefits. It would be easy to quickly make drastic changes to a websites appearance w/o affecting the back end. I'd like to work with a system like Rails in the future after playing around with it for a while in this project.

DWP Response: This sounds like a good project, perhaps as you explore the Ruby an Rails features, you could demonstrate using JCU CS requirements scheduler as a tool/goal.


DWP 4-12-11 Comments: Please update the organization of this page to reflect a structure that allows quick understanding of the material. (as per our discussion).

DWP 5-1-11 Comments: Thank you for making the changes. Now I need you to include evidence of the progress you've made. Screenshots of the software, descriptions of the current status of the project, reactions to Ruby on Rails as a development tool. As far as I can tell, there have been no updates to this page since you mentioned planning on talking to Dr. Seiter.