Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: Elasticsearch and AngularJS: IntraWeb Search
Rating: 3.8 out of 5(11 ratings)
118 students

Learning Path: Elasticsearch and AngularJS: IntraWeb Search

Learn how to integrate Elasticsearch in your AngularJS application and boost its scalability and overall performance.
Last updated 2/2018
English

What you'll learn

  • Kick-start your application in minutes by scaffolding it entirely with Yeoman
  • All about creating dynamic pages in Angular, specifically but not limited to validation of user data, creating and working with worker threads and AJAX calls, and efficiently handling routing between various pages of the application.
  • The basics of Elasticsearch as well as installing and configuring it.
  • Categorize different types of data automatically with Elasticsearch and manage them effectively.
  • Use the Elasticsearch domain-specific language to create search filters for searching data.
  • Build custom search filters that help you with advanced data search.
  • Get to grips with the best practices for separating out the structure of an AngularJS application into its various components.
  • Add a bit more to your search server by applying relevancy tuning and addressing security concerns.

Course content

2 sections44 lectures4h 1m total length
  • The Course Overview2:57
    Introduction to the course and description of sections
  • "Angularizing" Your Existing Web Page2:30
    How to make an existing web page into an Angular application
  • Bootstrapping an Angular Application3:36
    How to start an Angular application by bootstrapping from a seed project or by scaffolding using Yeoman
  • Defining a Controller4:10
    How to define a controller constructor function
  • Displaying Data Dynamically3:16
    How to display data programmatically from JavaScript to the HTML template
  • Repeating Content for All Items in a List3:19

    How to repeat a snippet of HTML for an entire list of items

  • Area of Influence of a Controller5:32
    Explain the link between the DOM markup and the scope of influence of a controller
  • Adding Interactions to the Template5:58
    Declare parts of the template that require user input and user interactions to be bound to the programmatic side
  • Creating Corresponding Controller Logic6:50

    Declare the corresponding actions and objects on the controller to match what is declared in the template

  • Reading Data from the Template6:43

    Show how every ng-model has its corresponding value available on $scope

  • Conditionally Showing/Hiding Elements7:06

    Show how logic can be used to show or hide parts of the template

  • Route Declaration and the ng-view Directive7:03
    Although we used Yeoman until now, we deleted the ng-view div to simplify things. We will now use a fully generated Yeoman project, including ng-view, the .config runtime, and $routeProvider.
  • Creating New Routes5:14

    The files and code required for creating a new route, and how Yeoman can take care of that for us.

  • Routing with Parameter5:16

    Some routes are generic, such as /movies, but some need to include a parameter, such as /movie/3, where 3 is the ID.

  • Creating Links7:02

    Links are needed to direct to each route. This can be achieved with simple ng-href directives or with the $location service.

  • Making AJAX Calls via $http5:59
    Users will learn to make calls in the background to a server side API.
  • Handling Responses via Success and Error Callbacks4:52
    Users will learn what is given to them as arguments on success and error callbacks, and how to use it.
  • Building GET and POST Requests7:51
    Often, requests point to a URL that either requires query parameters, or needs to use a POST method, with or without a body.
  • Making Cross-domain Requests Using JSONP8:52
    Cross-domain requests are common. JSONP is a way to circumvent CORS issues.
  • Separating the Loading of Data from the Controller6:21
    We will separate the loading of data from the display logic and explain why it is important.
  • Introducing the "factory" Type of Service5:44
    Video 5.1 gave the reasons/theory behind the need for services. Here, we will create the service object by using a "factory" function.
  • Injecting Your Own Services3:57
    The service has been coded in the previous video. We now need a way to access and time to use it. This will be done via dependency injection.
  • Implementing Persistence7:55
    The main missing feature of the app is data persistence; Movies added don’t get saved. We will implement this feature using localStorage.

Requirements

  • A basic knowledge of JavaScript and HTML is required. Also, some familiarity with HTTP methods would be needed.

Description

Always wanted to make your AngularJS app more scalable and fast? Thinking of ways to power insanely fast data discovery within your app? Think no more, for this Learning Path guides you how to integrate Elasticsearch - the world renowned scalable and fast open-source search server - with your AngularJS app.

Elasticsearch is a search server that also doubles up as a NoSQL data store, and hence provides lightning-fast search functionality within a website. Moreover, you can rapidly scale up a website using Elasticsearch. It is also highly available, meaning that a website would almost never face any downtime or lags, when having an Elasticsearch backend; which is also attributed to its NoSQL nature.

AngularJS is a web framework powered by Google, that has revolutionized web development over the past few years. With its advanced and unique 2-way data binding between the data and the UI, strong template-building solutions, code reuse features, allowing the creation of custom DOM elements whenever needed, AngularJS can indeed be said to be the framework of the future.

Elasticsearch and AngularJS: IntraWeb Search is Packt’s Video Learning Path that is a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

Firstly, we would be looking at getting started with AngularJS. We will be looking forward to developing a strong foundation in AngularJS by learning the basics, and then moving on to topics such as controllers, templates, routing, and services.

Next, we would be studying about Elasticsearch right from the basics, so that our concepts are built well. Moving on, we would be learning about how to create queries to enable searching data in an Elasticsearch data store. Finally, we would be looking in detail at integrating Elasticsearch with an AngularJS application, and improving the search features by tweaking various configurations, so as to boost the overall efficiency and scalability.

By the end of this course , you will have developed a strong foundation in Elasticsearch and understood the basics of AngularJS well enough to integrate Elasticsearch with an AngularJS application environment and improve its performance drastically.

The goal of this course is to teach you to integrate Elasticsearch with an AngularJS-based app and improve the overall performance and scalability of your application.

This course is authored by some of the best in the field.

Daniel Beach is a search architect, specializing in client-side application development.

He works at OpenSource Connections where he has built search applications for organizations ranging from publishers to government agencies.

Mathieu Chauvinc is a Managing Director at Red Ape Solutions. He has been involved in web technologies for over a decade, from Django, Node.js, Go, SQL, NoSQL, Mootools, and Angular 2. He has also studied in Karlsruhe University, Germany. He has authored several video courses, such as ‘Learning JavaScript Promises’ and ‘Introducing Ionic 2’.

Who this course is for:

  • Any web developer interested in learning or getting started with AngularJS, Elasticsearch, or both, or simply searching for a robust search solution within an AngularJS app.