About School Rating
The main idea in this project was to provide a way to people communicate and give a rating to schools nearby, helping other parents to choose the best school for their childrens.
I started this project in Foursquare Global Hackaton 2011.
You will find the iPhone app and the Python (Flask) back-end for Google App Engine.
Note: you will see
RateSchool along the project, it was the original name.
You can run it on your own GAE account.
First, register an app in your Foursquare account. Now, open Xcode project and find a
where you must configure this defines:
#define RATESCHOOL_BASE_URL @"http://YOU_URL_HERE.appspot.com" #define CLIENT_ID @"YOUR_CLIENT_ID" #define CLIENT_SECRET @"YOUR_CLIENT_SECRET"
You'll find the client keys in
CLIENT_ID = 'YOUR_CLIENT_ID' CLIENT_SECRET = 'YOUR_CLIENT_SECRET'
Note: on the first run, you must load the endpoint
/schoolCategoryID to get the School category ID (duh!) and store it on memcache. You can
schedule to run it once a week to be sure the app are always using the last category ID.
How it works
All the school data are retrieved directly from Foursquare API using the endpoint
venues/search. It will be stored in app only
when the app endpoint
/schoolInfo is called.
Inside iPhone app, users can browse schools, see the details, comment and give upvote/downvote.
I built the API to receive the HTTP header
Content-Type: application/x-www-form-urlencoded and return a JSON body. Yes, it's wrong, I know,
shame on me. If I need to rebuild it someday, I will use JSON for everything.
iPhone App Interface
It's not ugly, it's just too much Apple's standard. I started thinking 'How it will look like if I use only iOS components?', so I didn't bother to draw buttons and backgrounds.
It was a good experiment, now I have a better view of how iOS components works.
It was the biggest fail in this project. I thought that only by taking part of a Foursquare hackaton, all the app marketing will happen by itself. Big mistake.
I emailed some blogs and sites, but it didn't get any review.