Book Image

ASP.NET Core 2 and Angular 5

By : Valerio De Sanctis
Book Image

ASP.NET Core 2 and Angular 5

By: Valerio De Sanctis

Overview of this book

Become fluent in both frontend and backend web development by combining the impressive capabilities of ASP.NET Core 2 and Angular 5 from project setup right through the deployment phase. Full-stack web development means being able to work on both the frontend and backend portions of an application. The frontend is the part that users will see or interact with, while the backend is the underlying engine, that handles the logical flow: server configuration, data storage and retrieval, database interactions, user authentication, and more. Use the ASP.NET Core MVC framework to implement the backend with API calls and server-side routing. Learn how to put the frontend together using top-notch Angular 5 features such as two-way binding, Observables, and Dependency Injection, build the Data Model with Entity Framework Core, style the frontend with CSS/LESS for a responsive and mobile-friendly UI, handle user input with Forms and Validators, explore different authentication techniques, including the support for third-party OAuth2 providers such as Facebook, and deploy the application using Windows Server, SQL Server, and the IIS/Kestrel reverse proxy.
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Adding additional lists


Our Home View isn’t done yet; two out of three item lists are yet to be done, at least on the client-side. We’re talking about the most viewed items and the randomly picked ones; let’s add them to the loop. Basically, we have two ways to do this:

  • Adding two more Angular components very similar to the QuizListComponent one
  • Extending our QuizListComponent and make it configurable, thus making it able to handle all the three item listings

Adding two more components will be rather easy; we can clone the quiz-list.component.ts file a couple of times, and change the inner method of the two new files to make it fetch the relevant data from the /quiz/ByTitle and /quiz/Random server-side APIs already available through our QuizController. Once done, we can define a different selector for each one of them, add the required stuff in the AppModule and HomeComponent templates, and we will be done.

However, this is also a horrible approach. We will restrain ourselves from cloning any...