The concept of elasticity comes from solid mechanics and designates the mechanical property of certain materials to experience reversible deformation when they are under the action of external forces and to recover the original form if these external forces are removed. As an adjective can be used to describe those flexible materials, i.e. that can accommodate different circumstances.

The concept of elasticity or the adjective elastic can also be used to describe technologies. We will say that a technology is elastic when it:

adapts to growth, popularity and use of systems built with it (scalability [ISO 9126]).

can be extended to meet specific needs of niche markets.

is identified as the most versatile for a specific activity (not necessarily the newest).

has high visibility, mature communities, support and industry demand it.

is modern, sophisticated and advanced but not with high risk associated.

agrees very well with cloud computing, containerization of environments, IoT and DevOps.

The sample have two important components, the first is an AngularJS client and the second is a service implemented in NodeJS. The second part will be explained in a future article, but the important thing here is that both parts can work (and be implemented) separately.

In this article we have explored the create, update and delete operations, but the read method wasn’t implemented, so we don't completed the whole CRUD operations. The team decided study and document a sample that represents entities of ATMs. This entity has name, address and state as string attributes plus two booleans that set if the ATM accept deposits and if it has restricted services (called mini).