Sexypeek Case study
Sexypeek
SexyPeek.com is a clone of popular TwitPic.com which is an image hosting service and as well as short URL service for Twitter users.
Website Name: Sexypeek
URL: http://vhost1.agriya.com/sexypeek/
Client Name,Company: Michael,Carsed Marketing, Inc
Country: United States
Technologies: LAMP (Linux, Apache, MySQL, PHP) stack,Twitter API
Framework: CakePHP
Development Time: 20
Completed: July 2009
Engagement Model: Fixed
Application Tags: Twitter API,
Overview:
SexyPeek.com is a clone of popular TwitPic.com which is an image hosting service and as well as short URL service for Twitter users.
Services Involved: Web Development
Business Need:
Twitter has 140 characters limitation for messages and that necessitates the need for short URL service as well as image hosting service for any sharing of images across the users.
Key Project Challenges:
- oAuth instead of basic authentication as Twitter is kind of deprecating the support
- Better UI than TwitPic for uploading photos (TwitPic doesn’t have multiple photo upload option)
- Shorter URL for all photos—even for embed links unlike TwitPic
- Better API process unlike TwitPic which does handle the registration manually
- Cleaner admin interface for easy stats lookup and managing users and their photos
Solutions:
Software: LAMP (Linux, Apache, MySQL, PHP) stack
Server side framework: CakePHP
Client side framework: jQuery
Map service: Google Maps
Case Study:
Process
The project kicked off by compiling business requirements and basic plans. Some quick prototypes are created to check with the client that we’re in the same direction. Alpha releases were frequently released to client for showing the progress. Beta releases were released to get close feedback about the functionalities. Every release is also reviewed by our QA team for functionality testing, web standards testing (Tidy validation, Accessibility check, browser compatibility check) and security audit (XSS, SQL injection).
Requirements
Client’s business plans are translated into requirement drafts:
In user side,
- Users can login using “Sign in with Twitter” option
- Users can upload photos
- Photos can be commented
- Photos can be tagged
- Photos can be rated
- Application developers can request for API keys for their application
In admin side,
- Admin can check stats for each photos
- Admin can manage users
- Admin can manage photos
- Admin can manage comments for photos
- Admin can manage photo tags
Architectural plan
Being it’s a Web 2.0 site LAMP stack was chosen as we’re familiar with LAMP and LAMP scales up very well for this kind of application. Since, Ruby on Rails like MVC pattern would ideally suite for this application, we have chosen CakePHP. For being lightweight in design and would suite for all the Ajax works needed in the application, we have chosen jQuery.
As we’re familiar with Google map, we have chosen Google maps for mapping solution. As Twitter was kind of deprecating basic authentication support, we’ve decided to adopt oAuth and that was helping us to have “from SexyPeek” info on status tweeted from SexyPeek.







