Award Geek: Tennis

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]:

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.

Looking forward to the class!!  Scot

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


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:


FROM `tennis_results`
WHERE `ms_winner` =[x]


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

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.

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[])

    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:

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

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:

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.

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:

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.


Please sign in or sign up to comment.