Building and Testing
- Suggested organization of files, folders and modules.
- Automated testing practices, different types of tests and their place in
a project. You will get familiar with testing libraries and tools typically
used in AngularJS web applications.
Introducing the sample application
This section gives more details on the sample application that will serve as
a case study throughout this book.
The source code for the sample application is publicly available in the git
repository hosted on GitHub at https://github.com/angular-app/
angular-app. This repository contains complete source code, detailed
installation instructions and the whole project history.
Getting familiar with the problem domain
To showcase AngularJS in its most advantageous environment we are going to build
a project management tool supporting teams using the SCRUM methodology.
AngularJS shines when used as a framework for constructing CRUD-like
applications; ones that consist of many screens filled with dynamic forms,
list and tables.
SCRUM is a popular agile method for running projects, so hopefully many readers
are already familiar with it. Those new to SCRUM should not worry, since the basics
of SCRUM are easy to grasp. There are many excellent books and articles covering
SCRUM in depth but to gain basic understanding it is probably enough to go over
the introductory Wikipedia article on the topic at http://en.wikipedia.org/wiki/
Scrum_(development).
The aim of our sample application is to assist teams in managing SCRUM artifacts:
projects and their backlog, sprints and their backlog, tasks, progress charts, and so
on. The application also has a fully functional administration module to manage
users and projects being worked on.
Our sample application doesn't strive for full and strict adherence to
all the SCRUM principles. When necessary we took several shortcuts
to clearly illustrate AngularJS usage at the expense of building a real
SCRUM project management tool.