iDgital is Cloud Based SaaS application that manages orders for Radiologists and can resolve clients’ issues. Clients are hospitals and groups of hospitals that are situated in different countries around the world.
This product team develops a Node.js / Angular web application, the product is in the healthcare field. All deployments are containerized in a large distributed architecture. We have co-developed a Healthcare API with Google that is central to our solution.
The product has been developed from scratch and we already in the release phase, so the ready part is that something used by clients from different countries. We will increase in multiple times amount of clients soon, now we support around 100 facilities, soon this amount will be over 500.
Besides maintaining the product we are working on new custom and technical features, improving the performance of the platform, and a few new major milestones in progress, e.g. on-prem version for the current saas application, improving the mobile app (IOS, Android), integrating a few additional ways of receiving information from the hospitals. Also, we have a few subprojects based on iDGital architecture.
— As basic we are using standard git-flow but we added some minor changes to It. This change depends on our environments and our release process. The lifecycle of the developer’s tasks based on scrum (3 weeks sprints), ops team is working by kanban style.
— We have a code review process by 6 BE and 2 FE experienced developers and a knowledge-sharing process for all team members weekly.
— We have a bunch of various processes, some of them are main and some of them are added to make the life of the team and project better. Here is the list of basic ones:
Sprint Planning process;
1 Daily stand up meeting per team (1 for Ukraine team [19 members], 1 for AQA [2 members], 1 for OPS [4 members], 1 for Eng teams from different countries [5 members]);
Sync meetings for QA team once per sprint;
Sync meetings for FE and BE teams once per sprint;
Tech retrospective process;
BA process for BA team;
Hotfixes process for maintaining production.
— For version control are used gitlab and CI/CD builds. Almost all deploys are automated.
— Different kinds of testing: manual testing by the best QA team, UI testing by AQA (cypress), unit tests, API integration tests, functional tests, load tests using k6, microservice unit and integration tests.
Now are improving coverage for all types of testing.
— Google cloud and many google services (storage, pub/sub, healthcare, PostgreSQL, Kubernetes, firestore, logging, etc ) for infrastructure. Elastic as additional database.
— Above 40 microservices.
— Additional technologies details are:
Vision Machine Learning using TensorFlow;
Loose coupling through PubSub Messaging;
Auto-scaling microservices through Kubernetes;
REST API and GRPC integrations;
Cloud DataFlow for ETL;
BigQuery for DW and analytics;
Looker for reporting;
Speech recognition development including model development;
Google DialogFlow for IVR development;
Distributed Cloud SQL Database.
Google cloud platform, Node JS, Koa JS, Angular 7, PostgreSQL, Big Query, Dialog Flow, TensorFlow