Development Journal for Module 3

Journal for April 7, 2009

Whoops! I realized today that I misunderstood this assignment…I thought we were going to write in our development journals in class (since it is a participation exercise) and found out that they were due before class. My bad. Still going to do a write-up anyway.

Since we got this assignment, I have spent my time working on my database diagrams and sketching out all the views I will be creating. I presented my diagrams in class, and got helpful feedback—since my first draft, I have added an inventory table separate from the movies table to separate different kinds of information. My next step from here is to start thinking out how these views will actually look.

Today in class, I created the tables for my database in MySQL, and started working on my design comp. I am thinking about a green color scheme for the site, and I want to explore some font family options.

I haven’t really had any particular difficulties that I couldn’t handle so far, although actually coding the PHP that will do all the things that I want my prototype to do is daunting.

Journal for April 9, 2009

Since last class, I have finished my diagrams, wireframe, and design comp. I was able to power through it in one sitting—I had done some sketches in my scrum group of what my page structure might look like to start with . Then, I did another draft of the page wireframe as a whole on paper, sketching with markers on a big piece of 11x17. I also drew out what my different form tags and search results views would look like for two instances, looking up a user with no fees who wants to check out a movie, and looking to see if a movie is in stock. Then, I translated my diagrams into MS Publisher. I finished my design comp in photoshop, and made sure I recorded the hex values of all the colors I plan on using.

I think in this drafting process I saw myself drifting toward feature creep. At first I wanted to have a sidebar on every page displaying what movies were popular in the last week, and all time. But, after I looked at my draft, I thought about the objectives of this task, and decided that that wouldn’t be necessary or particularly helpful for the people this website was for (even if I feel like I know how to do it and think it is cool).

Journal for April 14, 2009

Wow, connecting to my own database proved to be a lot harder than I thought it was going to be. HostMonster sure didn’t make it easy for anyone. I spent a lot of time last class trying to figure out how to get the one page I had created so far to connect to the database tables I had created and populate them, and then helping other people figure it out themselves. I was able to build one table—the one to add users to the database. It works! I am in my own database. I helped two other people get theirs working too. Fact: sometimes Dreamweaver decides to save files locally and not to your server. If your code looks perfect and your preview is not working, make sure your are actually updating the files on the web, and not just on your computer. It’s happened to the best of us…and by best of us I mean me, and this other girl.

I am really glad I have such specific plans about what all my views are going to look like, because that is helping me put together the different forms I am going to need. However, I really feel like I need some more instruction in advanced MySql querying.

Feeling creative and a little apprehensive about the database-y part of my work, I put together the stylesheet for my site. I’m having trouble with getting the page to actually load it, though. Not sure what is wrong. I think I am going to bring this up in my scrum team, I think I need a review. And…oh god, it just loaded. It has some real problems. Whoops. At least the colors look okay.

Journal for April 16, 2009

Yarr I had a lot of broken things to fix in the last…several hours that I have been sitting here coding. But, I think I have everything working so far (except the links on my pages…none of my hyperlinks are live. Whoops. Will fix before turning project in, I swear).

Part of the problem is a difference in naming conventions between what was used in the sample code, which I ended up including, and what I used when creating my database tables. I called my table “users” instead of “customers” which was probably a bad call, but I had done enough of my own pages that I decided to just change all the instances of “customers” in the sample code to “users” and use it anyway. That led to a lot of broken pages and errors and such…but eventually, I think I got everything to work together nicely.

I also accidentally dropped on of my tables and had to recreate it. Not a big deal, there wasn’t much info in it yet, but it was a mini-heart attack moment. It is really easy to delete a major chunk of your data! I just wanted to delete a row…but now I know.

I have all my pages to create new users and edit user accounts done. I also have a page to enter a new movie, and also to enter a new inventory item (a new copy of a movie). I want the inventory item page to have a place for an auto-complete movie title box, so you don’t have to know the “movieid” field to enter an item. I’m still having a really hard time figuring out how to make my page that processes the inventory item display the primary key that the database assigns that row. It’s important so they know what number to assign to each inventory item—I’m assuming there’s some human work here writing or barcoding each movie with its unique id but that has to out put somehow and…well that part isn’t working yet.

Hopefully my good preparatory work looking at different views in my design documents that I did before starting all this will help me out a lot when I have to go into creating more complicated queries.

Journal for April 21, 2009

It was interesting to compare my coding experiences this week with my computer science grad student friends this week. I was proud to show off my working php to one of them, but he was very surprised at the approach our class was taking to the topic, and that making your code work was not the only important thing we were being graded on. I appreciate this rhetorically situated humanistic approach and I think I am learning very well in this environment. But, I am also glad that I am able to make things work.

I want to try a strategy this week in class of co-scrumming with another group. I like my group and I think we are really getting good at peer editing and reviewing each others php, so much so that I want to share our approach with others.

My code is coming along fine, and I think being less stressed out and panicky helps. A strategy for being less frustrated with the process is to break up my coding sessions. Four hours in a row is too much at one time for me, but stretching it out over a whole weekend lets me get more done and be less frustrated.

Journal for April 23, 2009

I had a breakthrough in my coding since the last time I wrote in here—I figured out how to query two different tables in my database with stuff carried over from the GET array and put it into my page. This plays out as a page where you can view the inventory for any of the movies I have in my database and see each copy’s format and status (in or out). I kept getting this “Resource Error #3” message when trying to do this at first, but then I learned that was something that comes from not extracting the data you get returned from your query after you put it into a variable. I feel like all that extracting seems to require the creation of an excessive number of variables, and sometimes when they have the same names it makes me nervous, but it seems to work ok and my page looks cool.

The co-scrumming thing I suggested previously seems to have been a good idea, although I did it informally. My nosy self wanted to see what other people were doing and hopefully I was being helpful when showing the stuff I have done so far to other people.

I can’t wait for this project to be done so that I can use my site as a portfolio piece—I really need to be able to show prospective employers some of my work and the PHP stuff is really important.

I also realized that something I felt really smart for putting in my code didn’t actually work at all. I am not sure how exactly my drop down boxes were actually transmitting the data you selected from them to my database table, because the code I thought I had put in there to do it was totally wrong. (I thought I put a hidden value in there…but it looks like I forgot to do that.) Oh well, at least they work.

Journal for April 28th

I am finally hitting the home stretch of this project. Since the last time I journaled, I have my checkout system working! It is so exciting! I finally understand the language of writing several MySql queries in a row to look at more than one database table and combine that information.

I now have a link on my “view users” page that lets you go to a checkout page where you enter the ID number of the movie (the CopyID that I am assuming is either written on the movie or barcoded) and it records the movie in the rentals table as associated with that user. It also date-stamps it and records CURRENT_DATE in that table. I have the fields “date returned” and “fee paid” set as null values, which allows them to be blank. The last thing I have to do before I fix cosmetic issues and hyperlinks is build my final page, where the video store can check movies back in, as well as a feature that calculates late fees.

I am actually really excited about this project and really proud of what I have accomplished. I plan on using these skills to develop an online store for my friends’ webcomic so that they can sell their merchandise online. I would love to have such a piece in my portfolio that has a real-world function as well as shows off my PHP skills.

email me at howesfra at msu dot edu