This book introduces you to AngularJS through a sample project that builds gradually. You will learn about the basic concepts, which allow you to create structured, modular and thus easy-to-maintain applications. In particular, we explain concepts such as modules, scopes, services and directives, and show how you can use them effectively. A separate chapter is devoted to connecting to a REST-based web service. In addition, we discuss tools such as Bower, Grunt, Karma and Yo. These tools can save you time by rendering certain tasks unnecessary. With Yeoman we outline a workflow that defines how these tools can be employed to create a productive environment for developers.