A while ago I had plans to make some tools for UWaterloo students, but I didn't end up doing anything because, well 1. I was busy and 2. Someone told me that he is already working on a similar project, which will be actually commercial. So I haven't done anything in a while.
Now, I'm considering, as soon as I get more free time, to continue with my plan and create a service for UWaterloo students to automate and improve their school related online tasks. After considering names like Bucketloo and WaterBawx, I've come up with a less cheesy title: WatTools. I think that making this an online service would be significantly cooler than building a desktop application, so I think I'll stick to that.
The first tool that I will include is the Quest to iCalendar tool. After that, I will improve on that tool using the Google Calendar API to create a separate calendar for each class in your schedule. Then I will look at embedding a calendar into the WatTools page. Then I will use a script that I made earlier to display your classes for a particular day on a map.
The second tool that I want to include is a script which will automatically check for you if you got a new interview and text message you about it if you did. It would be pretty simple to write except for the text messaging part. A better option might be to tweet to you, and if you have a Twitter account, you can receive the tweets on your phone by text message or by Twitter. I wonder if the number of requests to JobMine required for this will DDoS it. I hope not.
To make this service, I will need to do some sketchy things. Ideally, users will only have to log in to be able to see their schedule and export it. As far as I know, there is no way to me to request from Waterloo to get information about a user's schedule, so I will need to ask users for their password. However, I will try to leave the option for users to manually provide me with the information I need, but it a lot of extra work both for the users and for me.
Ideally, I want to open source the project on GitHub and allow anyone to build a tool that will be added. On the other hand, I'm afraid of the school hating on me, so I want to make the service private and invite-only. Users would log in with their @uwaterloo.ca emails and would then be allowed to only invite other @uwaterloo.ca students.
Does anyone have a recommendation as to which framework or language I should use? For PHP I'm considering CakePHP, CodeIgniter, Symphony. For other languages, I really want to try node.js, but I don't know how cheap the hosting would be. I could also go with Ruby on Rails, but I haven't been hearing many good things about it. I've heard good things about Django, but I'm not convinced I should use it.
P.S. if you want to help with this, email me.