Apprenticeship Week 6

By Matthew Cowie  ·   May 8, 2013  ·  2 minute read

Topics: Apprenticeship

Fancying up the place in week six.

Matthew Cowie was Neoteric Design’s spring 2013 apprentice, learning topics in backend development, database design, and Ruby on Rails. He continued on to become Neoteric’s developer.


This week I continued working on the Project Calendar, putting a some more niceties in the user interface. As requested, deliverables, their categories, and projects can now be dragged and sorted by the user how they see fit. This involved adding a position field for each and a sort function in their controllers, which is then called via AJAX by the jQuery sortable on update. Sorting projects proved slightly tricky as it needed to reorder its row of deliverables with it, and those are two completely seperate objects in this design, but I worked up a function that removes each one from the DOM and appends it back in order. Also added was a quick entry form implemented with a simple jQuery dialog. Having already embedded data attributes to pertinent objects made gathering the information I needed for the form simpler than expected. Definitely a practice I’ll use for future projects. Things I expected to be hard came easily and things I expected to be simple turned out to be difficult (like building the proper nested arrays for a grouped select input), go figure. I made a bit of an effort to work things out for myself this week and I think it paid off. The more I poke at things on my own and see how they tick the more I learn.

At the end of the week Joe and I had a code review, he pointed out all the style guide infractions and shifted some bits around and got things more cleaned up behind the scenes. Some things I knew should be changed but there was still a bit that he showed could be written clearer. Clarity is the name of the game. Also this week I performed my first maintenence task, updating some links on an old project. Crazy what they trust me with.

Project Calendar UI Demo:

{{< vimeo 65776947 >}}