#MyBank Application
This project has has two main goals :
- to be integrated in a DevOps workflow
- to use the market current best practices in software development
The domain expressed is the banking one in it's simpliest way.
Consumers should be able to make rest calls to create banking accounts and do some operations like withdrawals, deposits, etc ...)
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach.
DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams.
DevOps implementations utilize technology โ especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective.
-
The "Devs" part represent every people implicated by making the software : the developers, the business and the QAs. Their goal is to add new features, they want changes.
-
The "Ops" represent part every people implicated in managing and maintaining the production : systems, security and networks engineers, and DBAs. Their goal is to easily manage the production, they want stability.
Both parts have antagonist goals
- feature teams : Biz, Dev, Ops and QA in one team to do the entire life cycle of a feature. Facilitate communications and informations sharing. In terms of size, think pizza shares
- continuous integration : test, build and deploy at each code modification to see if regressions are presents and fix it the ealier
- shift left testing : early automated users acceptance tests (UAT) executed in the Continous Integration
- tests are done on environments similar to production to avoid late surprises
- short feed back loop, fail fast
- production monitoring
- Culture
- Automation
- Lean
- Measurement
- Sharing
In
Ubiquitous language
Cucumber + Tatziki Specifications by examples
AssertJ + Mockito
Multi modules: domain (the most important module), infrastructure for the technical and expostion to expose our api
DBA and Devs can integrate SQL query and fetch the results in domain Objects quite easily
Database version control and deployment
Swagger2