tweetcrowd - A Web App in a Day
Yesterday, bizarrely, I set myself the challenge of developing a fully functional, usable web application in one day.
Context
This time last year I had very little web development experience. I could use Dreamweaver to hack together table based websites from an “Export to HTML” PSD Image. I could create a database and download/install phpBB / wordpress etc. Since then I’ve started working at an established web development agency, and it became apparant that I’d need to catch up a little on my web skills.
The Objective :
- To learn PHP as a scripting language.
- To learn CSS layout and design.
- To learn SQL queries and database structure.
- To learn how to query a REST API.
I wanted to see how easy these languages were to someone with a very basic understanding of their foundations.
The Idea
Browsing my registered domains, I came across “tweetcrowd”, an idea some friends and I had to allow people to take their twitter account and join groups. Groups could then be browsed to find friends, or a list made of people in the same sorts of groups as you. A Twitter “directory” of sorts. There would be in an input page where users could assign tags to their account, a crowds page to see who was part of a crowd, and a peeps page where you could see what crowds a twitter user was a part of.
The Implementation
I started with configuring apache with a .htaccess file to rewrite calls to “tweetcrowd.com/crowd/whatever” to “tweetcrowd.com/crowd.php&page=whatever”. This let me setup a simple, sexy, web 2.0 URL Structure of:
- http://tweetcrowd.com/crowd/crowdname
- http://tweetcrowd.com/peep/username
The PHP/SQL stuff began at 10:00am. Armed with Jason Gilmore’s “Beginning PHP and MYSQL”, I created a basic form which would take a username, password and set of tags and dump the information into a database.
By the time all the error checking, SQL queries and data processing was sorted it was about 6:00pm, time to jump on CSS. I knew the basic of CSS, but I’d only ever tweaked existing designs, never started with a blank canvas (or div). By the time I’d figured out the three designs and interwoven with the PHP code, all that was left was the Twitter integration. Completion time : 3:00pm.
The Challenges and Things Learnt
- Css is case sensitive. Blurb != blurb.
- Figuring out SimpleXmlElement in PHP and how to get the data I need.
- Getting the background image working properly (still a hack :().
- Negative margins in CSS are never a good thing.
- Don’t reinvent the wheel! Use a twitter API wrapper class!
What needs doing?
- Figure out how to do a login/logout/session system so people can remove tags / follow people from the site without re authenticating every form submission.
- Read up on “security” stuff, protection from SQL injections etc.
- Generate an algorithm find users in the same groups as you - recommendations.
- Automatically generate tags based on users past Tweets.








