Award Geek: Tennis

Award Geek: Tennis - student project

I want to create a series of apps (Award Geek) that showcase awards and achievements in multiple categories.  Tennis is my first project since the data set is not that large or complicated.  I have been teaching myself SQL through phpMyAdmin and I have completed the setup of the database and created all of the necessary tables, even entered in all of the data.  Here's a partial screenshot of the database [updated]:

Award Geek: Tennis - image 1 - student project

Basically the app will provide a very easy way for people to search and/or browse all of the Men's Singles and Women's Singles winners AND losers (who they defeated), for the four major Grand Slam tournaments (Wimbledon, US Open, Australian Open, French Open), and the Olympics since the open era of tennis (1968).

I've also wireframed out the basic panels of the app, and it looks like there are about 18 SQL queries necessary.  I'm currently learning/working on all of the queries and should have them completed before the class begins.

Award Geek: Tennis - image 2 - student project

Award Geek: Tennis - image 3 - student project

Looking forward to the class!!  Scot


UPDATE #1: I think I have figured out some of the SQL queries necessary.  Posting them here.

[removed]

I took an intro to SQL class/workshop and I realized I didn't quite set my database tables up properly.  I have corrected the error, and now with one overall results table, the queries are much simpler than I had before, like so:

[player] TOTAL GRAND SLAM WINS, MAN

SELECT COUNT( * )
FROM `tennis_results`
WHERE `ms_winner` =[x]

EXAMPLE: RAFAEL NADAL

SELECT COUNT( * )
FROM `tennis_results`
WHERE `ms_winner` =39


UPDATE #2: I created a logo and splash screen.  For a long time I was using a generic trophy for Award Geek but I like this a lot better

Award Geek: Tennis - image 4 - student project

Update #3: Update #1 changed since I learned a lot more about SQL today.  Thank goodness this database is small and manageable because if I had made these mistakes after setting up a much larger database, I would have been totally screwed!!!  It only took about an hour to correct everything.  Now the tennis database is only three tables (players, results, tournaments), instead of the previous six.

UPDATE #4: I found a Photoshop template online that lets you edit one image and easily exports all iOS icon sizes.

Award Geek: Tennis - image 5 - student project

Award Geek: Tennis - image 6 - student project

UPDATE #5: I am working my way through the first chapters of the Objective-C Programming textbook for this class.  Not long ago I would have laughed in your face if you said I could absorb this material.  But here I am, plugging away and slugging through it.  Finally upping my game beyond HTML, CSS, PHP.  This function will sing "99 Bottles of Beer on the Wall":

void singTheSong(int numberOfBottles)

{
    if (numberOfBottles == 0) {
        printf("No more bottles of beer on the wall, no more bottles of beer.\n");
        printf("That's the end, tell a friend, no more bottles of beer on the wall.\n");
    } else if (numberOfBottles == 1) {
        printf("%d bottle of beer on the wall, %d bottle of beer,\n", numberOfBottles, numberOfBottles);
        int oneFewer = numberOfBottles - 1;
        printf("Take one down, pass it around, %d bottles of beer on the wall.\n", oneFewer);
        singTheSong(oneFewer); //the function calls itself
    }

    else {
        printf("%d bottles of beer on the wall, %d bottles of beer,\n", numberOfBottles, numberOfBottles);
        int oneFewer = numberOfBottles - 1;
        printf("Take one down, pass it around, %d bottles of beer on the wall.\n", oneFewer);
        singTheSong(oneFewer); //the function calls itself
    }

}

int main(int argc, const char * argv[])
{

    singTheSong(99);
    return 0;
}

UPDATE #6: I am making major progress with the SQL queries.  Out of the original two dozen or so I only have eight more to figure out:

UPDATE #7: ALL SQL QUERIES necessary for the app have been solved for!  Even if they eventually need to be tweaked, they all hit the database and return the data or record intended.

Here are some screen shots of the most complicated queries I had to figure out.  Top 5 grand slam winners (man or woman) of all time:

Award Geek: Tennis - image 7 - student project

Top 5 grand slam winners (men) of all time:

Award Geek: Tennis - image 8 - student project

UPDATE #8: Finished the first and about halfway through the second Stanford lecture video in the class syllabus.  The material is getting pretty intense but I am pleased with my capability to follow along and keep up with the exercises in Xcode.  Obviously I'm not grasping everything right away, but I'm not in over my head.  I can do this!

UPDATE #9: After watching and following along TWICE with both of the first two Stanford lectures, I got the calculator to start working:

Award Geek: Tennis - image 9 - student project

Update #10: I'm following along with the class relatively well.  I'm a tiny bit behind schedule, but I am slowly figuring out how to layout my app within Xcode.  The screenshots below are kind of rough, but this is the basic idea for the app.  I hope to learn how to connect to my database soon, code actions for the button, slider, and search box, and display content.

Award Geek: Tennis - image 10 - student projectAward Geek: Tennis - image 11 - student projectAward Geek: Tennis - image 12 - student project

Award Geek: Tennis - image 13 - student projectAward Geek: Tennis - image 14 - student projectAward Geek: Tennis - image 15 - student project

Award Geek: Tennis - image 16 - student project

Update #11:  Well, things are definitely a challenge at this point.  It can be tough to find the hours of quiet-time necessary to absorb this material, but I am doing my best.  The last check-in was supposed to include interface actions of the app actually doing something.  I am slowly getting there, as I have gotten the main UISlider at the top of the app to display values in a text label:

Award Geek: Tennis - image 17 - student project

What I am trying to do is to get the label to display text values from an array of tournament names, which is a little slow going, but I should get it eventually.