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 4.0 and .NET Framework 4.0 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, this book is ideal for you.
The book starts by planning the essential features of your social network, and then building a â€˜community frameworkâ€™ that will give your site a solid foundation and enable you to add all your social networking features. You can then go on to create user accounts, profile pages, messaging systems, â€˜friendâ€™ relationships between members, photo galleries, blogs, forums, groups, and more. Along the way you will see MEF, Entity Framework, LINQ, AJAX, C# 4.0, ASP.NET Routing,and other features of ASP.NET 4.0 put to practical and interesting uses. There is also integration with other technologies like Silverlight, Flash, XINHA WYSIWYG editor, reCaptcha, Lucene.NET and Cropper and you also look at custom implementation of authentication and profile features for the website.
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.
A step by step guide to building enterprise-ready social networking and community applications with ASP.NET 4
What you will learn from this book :
Make key decisions about architecture and the tools to use
Build a solid â€˜community frameworkâ€™ to give your site a strong foundation; the principles explored this framework will apply to any large-scale web application
Create user accounts, set up a permissions system, and handle password encryption
Work with user profiles, and establish â€˜friendâ€™ relationships between different users
Allow users customize their profile and communicate with one another
Work with photos, forums and start tagging, commenting, voting etc.
Understand core concepts of Entity framework and work with it in a layered environment
Understand core concepts of MEF and see how it helps build pluggable components
Moderate the site, ensuring safety, dealing with cross-site scripting (XSS), privacy, and decency
Utilize the Model View Presenter pattern with ASP.NET 4.0 to enable creation of automated test cases
Add an internal search engine using SQL Server and Lucene.NET
Work with appropriate design patters to create a scalable long-lasting enterprise framework
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â€™ 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 written 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 4.0, C# , SQL Server 2008, and Visual Studio .NET 2010. If you working with earlier versions of any of these, you can still go ahead and use this book as a guide to get you going. The book focuses on topics that will be of interest to existing developers and not on providing step-by-step examples for each detail.