- Develop a solution to enable customers to create own objects / forms and collect data
- Develop a solution to enable access restriction on the collected data
- Develop a solution to enable any third-party integration / plugins
- Develop a solution to enable configurable validations, conditional logic, filters etc. on forms
- Stable Platform & Product was developed within 8 months with all core features planned
- Integration with 3rd party plugins like Scandit became very easy as interfaces were designed early
- Choice of Java, Spring, Mongo technologies platform ensured ease of scalability
- Followed “Design for Tomorrow Develop for Today” approach
- Conducted Detailed study into functional components of the products
- Created a product roadmap / stories in discussion with the product owner for agile delivery
- Identified the technology platform for storing both relational & big data
- Developed REST micro services & UI components for the core features
- Designed communication interfaces, message formats upfront
Core principle of Agileware was to be one of the most powerful data collection platforms, enabling the organizations to solve operational problems themselves, as the experts in their own field. Idea of Agileware was to allow integration with all back-office systems to reduce duplication and effort allowing business users to focus on core activities.
Agileware aimed to be one platform keeps costs low, training minimal and integrations easier. Allow business to create and modify solutions in minutes, based on the business priorities. Provide an ability to build up a unique 'Dictionary' of fields and screens in Agileware to be re-used in different situations.
As a first step in developing the product with completely dynamic fields, validation rules, conditional logic we started building product backlog and then segregating the stories into clear sprints. In parallel design team finalized on the technology stack and solution architecture. Java, Spring Boot, PostgreSQL, MongoDB, Angular were chosen as core technologies to develop the platform.
Drag and drop user interfaces were developed for creation of fields, collection of fields, creation of dynamic lists. User interfaces were developed to enable business users build validation rules, conditional logic on the collections. Spring Expression Language (SPEL) was used in the backend to evaluate the validation, conditional logic. SPEL allowed users to write complex business logic on domain objects.
Design for Tomorrow Develop for Today approach ensured faster delivery of core product features with scalable, extensible and stable product architecture.
Dynamic lists features on collections were developed to provide conditional access to the users based on the roles. Query builder on the lists enabled to filter / drilldown the collected data.
Feature was developed to share the data collected on Agileware with other tenants based on conditional operations. Data sharing allowed different tenants using Agileware to share with field level security.