| |
Back
to BOOK PAGE
Table of ContentsPreface Chapter 1: Social Networking Chapter 2: An Enterprise Approach to our Community Framework Chapter 3: User Accounts Chapter 4: User Profiles Chapter 5: Friends Chapter 6: Messaging Chapter 7: Media Galleries Chapter 8: Blogs Chapter 9: Message Boards Chapter 10: Groups Chapter 11: Comments, Tags, and Ratings Chapter 12: Moderation Chapter 13: Scaling Up Index
- Chapter 1: Social Networking
- What makes this topic so important
- Large communities
- Niche communities
- Once I have my own social network, then what?
- Customer service
- Content moderation
- Growing infrastructure requirements
- Our social network—Fisharoo
- This book's approach
- Features of our social network
- Accounts
- Profiles
- Friends
- Messaging
- Media galleries
- Blogging
- Message boards
- Groups
- Comments
- Tags
- Ratings
- Framework
- Scaling up
- Chapter 2: An Enterprise Approach to our Community Framework
- A layered architecture versus a non-layered architecture
- Domain-driven Design
- Ubiquitous language
- Entities
- Value objects
- Services
- Modules
- Aggregates
- Factories
- Repositories
- Model View Presenter pattern
- Model
- View
- Presenter
- How it works
- Factory pattern using StructureMap
- Repository pattern and LINQ
- Wrappers for everything!
- Configuration
- Cache
- Session
- Redirection
- Email
- Error handling and logging
- Chapter 3: User Accounts
- Problem
- Design
- Registration
- Accounts
- Password strength
- Terms and conditions
- CAPTCHA
- Email confirmation and verification
- Security
- Permissions
- Password encryption/decryption
- Logging in
- Password reminder
- Manage account
- Solution
- Implementing the database
- The Accounts table
- The Permissions table
- The AccountPermissions table
- The Terms table
- Creating the relationships
- Implementing the data access layer
- Setting up LINQ for the first time
- A DataContext wrapper
- Building repositories
- The other repositories
- Implementing the services/application layer
- Implementing the business/domain layer
- Implementing the presentation layer
- Model view presenter
- Registration page
- Email verification
- Password recovery
- Edit account
- Implementing security
- Chapter 4: User Profiles
- Solution
- Implementing the database
- The Profiles table
- Level of Experience
- The Attributes table
- The Privacy table
- The Alerts table
- Creating the relationships
- Setting up the data access layer
- Implementing the services/application layer
- ProfileService
- Account service
- Privacy service
- Alert service
- Profile Attribute Service
- Implementing the presentation layer
- Privacy
- Manage profile
- Avatar
- Public profile
- News feed
- Chapter 5: Friends
- Problem
- Design
- Friends
- Finding Friends
- Searching for a Friend
- Inviting a Friend
- Importing Friends from External Sources
- Sending an Invitation
- Adding Friend Alerts to The Filter
- Interacting With Your Friends
- Viewing Your Friends
- Managing your friends
- Following Your Friends
- Providing Status Updates to Your Friends
- Solution
- Implementing the Database
- The Friends Table
- Friend Invitations
- Status Updates
- Creating the Relationships
- Setting Up the Data Access Layer
- Implementing the Services/Application Layer
- FriendService
- AlertService
- PrivacyService
- Implementing the Presentation Layer
- Searching for Friends
- Invite Your Friends
- Outlook CSV Importer
- Confirm Friendship
- Show Friends
- Friends on Profile
- Status Updates
- Chapter 6: Messaging
- Solution
- Implementing the database
- Messages
- MessageRecipients
- Creating the relationships
- Setting up the data access layer
- Implementing the services/application layer
- MessageService
- Email
- AlertService
- FriendService
- Implementing the presentation layer
- New message
- Default (or Inbox)
- Read message
- Chapter 7: Media Galleries
- Problem
- Design
- Files
- Folders
- File upload
- File system management
- Data management screens
- Solution
- Implementing the database
- Files
- File system folders
- File types
- Folders
- Folder types
- Account folders
- Account files
- Folder files
- Creating the relationships
- Setting up the data access layer
- Implementing the services/application layer
- Implementing the presentation layer
- Chapter 8: Blogs
- Solution
- Implementing the database
- Blogs
- Creating the relationships
- Setting up the data access layer
- Implementing the services/application layer
- Implementing the presentation layer
- Latest blog posts
- My blog posts
- Fancy URL support
- View post
- Create or edit post
- Chapter 9: Message Boards
- Problem
- Design
- Categories
- Forums
- Threads and Posts
- Friendly URLs
- Alerts
- Solution
- Implementing the Database
- Categories
- Forums
- Posts
- Creating the Relationships
- Setting Up the Data Access Layer
- Implementing the Services/Application layer
- Implementing the Presentation Layer
- Default.aspx
- Redirector
- UrlRewrite
- ViewForum.aspx
- ViewPost.aspx
- Post.aspx
- Chapter 10: Groups
- Problem
- Design
- Groups
- GroupMembers
- GroupTypes
- GroupForums
- Schema
- Solution
- Implementing the database
- Groups
- GroupMembers
- GroupTypes
- GroupForums
- Creating the relationships
- Setting up the data access layer
- Building repositories
- GroupRepository
- GroupToGroupTypeRepository
- GroupForumRepository
- GroupMemberRepository
- GroupTypeRepository
- AccountRepository
- GetAccountsToApproveByGroupID
- Implementing the services/application layer
- GroupService
- AlertService
- Redirector
- WebContext
- Implementing the presentation layer
- ManageGroup
- Members
- Default
- UrlRewrite
- ViewGroup
- MyGroups
- Forum enhancements
- Chapter 11: Comments, Tags, and Ratings
- Solution
- Implementing the database
- SystemObjects
- Ratings
- System object rating options
- Tags
- System object tags
- Comments
- Creating the relationships
- Setting up the data access layer
- Building repositories
- RatingRepository
- SystemObjectRatingOptionRepository
- TagRepository
- SystemObjectTagRepository
- CommentRepository
- Implementing the services/application layer
- TagService
- Extensions
- WebContext
- Configuration
- Implementing the presentation layer
- Comments Page
- Ratings Page
- Tags Page
- Installing the new user controls
- UrlRewrite.cs
- Tags page
- Chapter 12: Moderation
- Problem
- Community moderation
- Gagging users
- Dynamic filter
- Cross-site scripting (XSS)
- Solution
- Implementing the database
- Moderations
- Gags
- ContentFilters
- Creating the relationships
- Setting up the data access layer
- Implementing the services/application layer
- ContentFilterService
- Extensions
- Implementing the presentation layer
- Moderation
- Gagging
- Filtering
- Chapter 13: Scaling Up
- Problem
- Design
- Database optimization
- Flagged for delete
- Indexing
- Partitioning
- Web farming
- Caching
- Searching
- Email
- Solution
- Database optimization
- Indexing
- Partitioning
- Gotchas
- Web farming
- Caching
- The server
- The client
- Using the client
- Starting the cache layer
- Where do I start?
- Searching
- Getting Lucene.NET
- Building indexes
- Building the search
- Email
- Creating services to send email
- The database
- Services
- Serializing email
- Connecting the new DBMailQueueService
- The queue
- Processing the queue
Back to BOOK PAGE
| |
|