Book Image

Angular Services

By : Sohail Salehi
Book Image

Angular Services

By: Sohail Salehi

Overview of this book

A primary concern with modern day applications is that they need to be dynamic, and for that, data access from the server side, data authentication, and security are very important. Angular leverages its services to create such state-of-the-art dynamic applications. This book will help you create and design customized services, integrate them into your applications, import third-party plugins, and make your apps perform better and faster. This book starts with a basic rundown on how you can create your own Angular development environment compatible with v2 and v4. You will then use Bootstrap and Angular UI components to create pages. You will also understand how to use controllers to collect data and populate them into NG UIs. Later, you will then create a rating service to evaluate entries and assign a score to them. Next, you will create "cron jobs" in NG. We will then create a crawler service to find all relevant resources regarding a selected headline and generate reports on it. Finally, you will create a service to manage accuracy and provide feedback about troubled areas in the app created. This book is up to date for the 2.4 release and is compatible with the 4.0 release as well, and it does not have any code based on the beta or release candidates.
Table of Contents (15 chapters)
Angular Services
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

The Corpus functions


Now it is time to replace recent hardcoded values for the corpus with real functions, so open the evidence service and add the following modifications to it:

// src/app/evidence/evidence.service.ts 
//... 
@Injectable() 
export class EvidenceService { 
  private corpusSize; 
  private corpus: FirebaseListObservable <any>; 
  private IDFs: FirebaseListObservable <any>; 
  //... 
  constructor(http: Http, af: AngularFire) { 
    this.http = http; 
    this.angularFire = af; 
    this.corpus = af.database.list('Evidence/Corpus/Articles'); 
    this.IDFs = af.database.list('Evidence/Corpus/IDFs'); 
  } 
 
  corpusBuilder(keywords) { 
    // ToDo:  
    // 1. Fetch links for each keyword 
    // 2. Pass the link to EvidenceService for extracting contents 
    // 3. Save them under corpus key for further caluculation 
  } 
} 

Please notice that we have created two children under the Evidence/Corpus key. Apart from articles, we need to keep all IDF calculations somewhere...