Table of Contents
Preface
Chapter 1: Cloning Internet Applications
Chapter 2: URL Shorteners – Cloning TinyURL
Chapter 3: Microblogs – Cloning Twitter
Chapter 4: Photo Sharing – Cloning Flickr
Chapter 5: Social Networking Services – Cloning Facebook 1
Chapter 6: Social Networking Services – Cloning Facebook 2
Index
- Chapter 1: Cloning Internet Applications
- Who would find this book useful
- Popular Internet applications
- Technologies used
- Sinatra
- Installing
- Routes
- Splitting a route into multiple files
- Redirection
- Filters
- Static pages
- Views
- Layouts
- Helpers
- Error handling
- DataMapper
- Installing
- Connecting to the database
- Creating models
- Defining associations between models
- Creating the database tables
- Finding records
- Haml
- Installing
- Using Haml
- Haml and Ruby
- Sinatra
- How this book works
- Caveat
- Summary
- Chapter 2: URL Shorteners – Cloning TinyURL
- All about URL shorteners
- Main features
- Designing the clone
- Creating a short URL for each long URL
- Automatically redirecting from a short URL to a long URL
- Providing a customized short URL
- Filtering undesirable words out
- Previewing the long URL
- Providing statistics
- Technologies and platforms used
- Sinatra
- Haml
- DataMapper
- Blueprint CSS
- Mashups
- Google Chart API
- HostIP
- Heroku
- Building the clone
- Data model
- Url
- Link
- Visit
- Application flow
- Data model
- Deploying the clone
- Summary
- Chapter 3: Microblogs – Cloning Twitter
- All about microblogs
- Twitter
- Why Twitter?
- Twitter
- Main features
- Designing the clone
- Posting statuses
- Following users
- Sending publicly directed messages
- Sending privately directed messages
- Re-tweeting
- Public timeline
- API
- Authentication, access control, and user management
- Third party authentication and access control
- Authentication and user management
- Scalability and stability
- Technologies and platforms used
- JSON
- Mashups
- RPX
- Google ClientLogin
- Gravatar
- TinyURL
- Heroku
- Building the clone
- Modeling the data
- User
- Status
- Building the application flow
- Authenticating and managing users
- Displaying and updating statuses
- Sending and displaying direct messages
- Showing and forming relationships
- Implementing the API
- Modeling the data
- Deploying the clone
- Deploying locally
- Deploying to the cloud
- Summary
- All about microblogs
- Chapter 4: Photo Sharing – Cloning Flickr
- All about photo-sharing services
- Flickr
- Main features
- Designing the clone
- Authentication, access control, and user management
- Albums and photos
- Uploading and storing photos
- Comments
- Annotations
- Editing photos
- Friendly URLs
- Sharing photos
- Technologies and platforms used
- Mashups
- RPX
- Gravatar
- Pixlr
- Amazon Web Services Simple Storage Service (S3)
- RightAWS
- Mashups
- Building the clone
- Configuration
- Modeling the data
- User
- Album
- Photo
- Annotation
- Comment
- Building the application flow
- Authenticating and managing users
- Landing page
- Managing albums
- Uploading photos
- Displaying photos
- Annotating photos
- Commenting on photos
- Editing photos
- Sharing photos
- Deploying the clone
- Deploying on a server
- Summary
- All about photo-sharing services
- Chapter 5: Social Networking Services – Cloning Facebook 1
- All about social networking services
- Main features
- User
- Community
- Content sharing
- Designing the clone
- Authentication, access control, and user management
- Status updates
- User activity feeds and news feeds
- Friends list and inviting users to join
- Posting to the wall
- Sending messages
- Attending events
- Forming groups
- Commenting on and liking content
- Sharing photos
- Blogging with pages
- Technologies and platforms used
- Mashups
- Facebook Connect
- Mashups
- Building the clone
- Configuring the clone
- Modeling the data
- User
- Request
- Message
- Album
- Photo
- Status
- Group
- Event
- Page
- Wall
- Activity
- Comment
- Like
- Summary
- All about social networking services
- Chapter 6: Social Networking Services – Cloning Facebook 2
- Building the application flow
- Structure of the application and flow
- Authenticating and managing users
- Landing page, news feed, and statuses
- Inviting friends and friends list
- Registering a Facebook application
- Creating a cross-domain communication channel file
- Writing the code
- User page and activity feeds
- Posting to a wall
- Sharing photos
- Managing albums
- Uploading photos
- Displaying photos
- Annotating photos
- Viewing friends' photos
- Sending messages
- Creating events
- Forming groups
- Sharing content through pages
- Commenting and liking
- Deploying the clone
- Deploying locally
- Deploying to the cloud
- Summary
- Building the application flow