ASP.NET 3.5 Social Networking
eBook - ePub

ASP.NET 3.5 Social Networking

  1. 580 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

ASP.NET 3.5 Social Networking

About this book

In Detail

Social Networking is all about developing connections or ties between friends and associates. While people have always networked with one another the Internet has allowed us to network with people all over the world easily. Any interest or cause can support its own social network, where fans and followers can meet, chat, and share their views. But building a social networking site from scratch involves some complex logic, and some serious coding.

This book shows how to build a scalable, enterprise-ready social network using ASP.NET. The book uses the latest features of ASP.NET to provide a platform that is efficient, easy to maintain, and extensible. Whether you want to build your own social network, are developing a social site for a customer or employer, or just want a practical guide to developing complex ASP.NET applications then this book is ideal for you.

The book starts by planning the essential features of our social network, and then building a 'community framework' that will give our site a solid foundation and enable us to add all our social networking features. We then go on to create user accounts, profile pages, messaging systems, 'friend' relationships between members, media galleries, blogs, message boards, groups, and more. Along the way you will see LINQ, MVC, AJAX, and other features of ASP.NET 3.5 put to practical and interesting uses.

This book will show you how to create a scalable, maintainable social network that can support hundreds of thousands of users, complete with multimedia features.

Approach

Each chapter starts by showing the user experience we are going to create in the chapter. It then has a section discussing the major design decisions we face in building these features, and finally presents the 'solution' ae including the overall architecture and highlighting the most important code elements.
 
The book presents a lot of real-world code, with comprehensive explanation and discussion. The full social network application is available for download from the Packt website, for you to examine, study, and modify.

Who this book is for

This book is written for ASP.NET and C# developers who want to build an enterprise-grade Social Network, either for their own business purposes or as a contract job for another company.

The book assumes you have prior experience of developing web applications using ASP.NET 3.5, C# 3.0, SQL Server 2005/2008, and Visual Studio .NET 2008; it focuses on topics that will be of interest to existing developers not on providing step-by-step examples for each detail.

Tools to learn more effectively

Saving Books

Saving Books

Keyword Search

Keyword Search

Annotating Text

Annotating Text

Listen to it instead

Listen to it instead

Information

ASP.NET 3.5 Social Networking

Andrew Siemer


Table of Contents

ASP.NET 3.5 Social Networking
Credits
About the Author
About the Reviewer
Preface
What This Book Covers
What You Need for This Book
Who is This Book For
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Piracy
Questions
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
Problem
Design
Solution
Features of our social network
Accounts
Profiles
Friends
Messaging
Media galleries
Blogging
Message boards
Groups
Comments
Tags
Ratings
Framework
Scaling up
Summary
2. An Enterprise Approach to our Community Framework
A layered architecture versus a non-layered architecture
Layers
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
Error handling
Logging
Summary
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
Selecting accounts
Saving an account
Deleting an account
Adding permissions to an account
The other repositories
Permissions repository
Terms repository
Implementing the services/application layer
Extension methods
Implementing the business/domain layer
Implementing the presentation layer
Model view presenter
View
Presenter
Model
Registration page
Email verification
Password recovery
Edit account
Implementing security
SiteMap
SiteMap wrapper
All nodes
Navigation
Checking access
Security
Implementing navigation and security
Summary
4. User Profiles
Problem
Design
Profile
Manage profile
Avatar
Custom avatars
Gravatar
Public profile
Custom homepage
Privacy
News feed
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
Building repositories
Implementing the services/application layer
ProfileService
Account service
Privacy service
Alert service
Profile Attribute Service
Implementing the presentation layer
Privacy
Manage privacy
Manage profile
Avatar
Upload avatar
Image manipulation
Gravatar
Public profile
Custom homepage
News feed
Summary
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
Friends Constraints
FriendInvitations constraints
StatusUpdates constraints
Setting Up the Data Access Layer
Building Repositories
FriendRepository
FriendInvitationRepository
StatusUpdateRepository
AccountRepository
Implementing the Services/Application Layer
FriendService
AlertService
PrivacyService
Implementing the Presentation Layer
Searching for Friends
SiteMaster
Search
Invite Your Friends
Outlook CSV Importer
Importing Contacts
Selecting Contacts
Confirm Friendship
Login
Registration
Show Friends
Friends on Profile
Status Updates
Summary
6. Messaging
Problem
Design
Messages
Recipients
Solution
Implementing the database
Messages
MessageTypes
MessageRecipients
MessageRecipientTypes
MessageStatusTypes
MessageFolders
Creating the relationships
Setting up the data access layer
Building repositories
MessageRepository
MessageRecipientRepository
Implementing the services/application layer
MessageService
Email
AlertService
FriendService
Implementing the presentation layer
New message
Friends control
Default (or Inbox)
Folders
Read message
Summary
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
Building repositories
FileRepository
FolderRepository
Implementing the services/application layer
FolderService
Implementing the presentation layer
File upload
Receiving files
Testing our receiver
Multi-file upload
Photo albums
MyPhotos
ViewAlbum
Summary
8. Blogs
Problem
Design
Blogs
Solution
Implementing the database
Blogs
Creating the relationships
Setting up the data access layer
Building repositories
Implementing the services/application layer
AlertService
Implementing the presentation layer
Latest blog posts
My blog posts
Fancy URL support
View post
Create or edit post
Summary
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
Building Repositories
BoardCategoryRepository
BoardForumRepository
BoardPostRepository
Implementing the Services/Application layer
BoardService
AlertService
Implementing the Presentation Layer
Default.aspx
Redirector
UrlRewrite
ViewForum.aspx
ViewPost.aspx
Post.aspx
Summary
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
GetGroupByForumID
IsOwner
CheckIfGroupPageNameExists
DeleteGroup
GroupToGroupTypeRepository
SaveGroupTypesForGroup
GroupForumRepository
GroupMemberRepository
GetMemberAccountIDsByGroupID
DeleteGroupMembers
GroupTypeRepository
AccountRepository
GetApprovedAccountsByGroupID
GetAccountsToApproveByGroupID
Implementing the services/application layer
GroupService
IsOwnerOrAdministrator
SaveGroup
AlertService
Redirector
WebContext
Implementing the presentation layer
ManageGroup
WYSIWYG
Image upload
Members
Data pagination
CheckBoxLists without the CheckBoxList control
Default
UrlRewrite
ViewGroup
Private/Public
MyGroups...

Table of contents

  1. ASP.NET 3.5 Social Networking

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access ASP.NET 3.5 Social Networking by Andrew Siemer in PDF and/or ePUB format, as well as other popular books in Computer Science & Information Technology. We have over one million books available in our catalogue for you to explore.