Full-stack Development Case Study for Datadocs - a high data volume worksheet application for analytics
They completed development in an adequate time frame, and they worked well. The quality of their code is solid, and I would highly recommend them for any project in Java or Elastic.
David Litwin

CEO at Cinley

Problem

Cinely started building a product “Datadocs” which helps customers import & visualize large data sets through excel or google worksheet style of UI and provides the ability to perform various niche analytical operations on it.

Application aimed to pull data from various data sources and render it within a given SLA.

The base of the product was ready but required a lot of fine-tuning in optimizing the performance of export & import of large datasets, there were many tricky front-end glitches and new enhancements to be implemented.

On top of improving user experience, the client also wanted to implement new features like Google OAuth Signup and authentication flow, Stripe integration to manage subscriptions and payments, rate limiting based on user’s subscription, pay-per-use model, implement seamless CI/CD on GCP through Jenkins & Docker, zero downtime deployments, etc.

Technologies: Angular, Java8, Springboot, Elasticsearch, BigQuery, Stripe, Google Cloud Platform (GCP), Jenkins, Docker.

Solution

Refactoring: It was seeming a bit overwhelming and tricky when we started looking at their front-end code which was highly complex and tightly coupled. Any fix would lead to breakage at other places. We took a step back and started rethinking meaningful refactoring which will give us maximum confidence in adding more features and fixing the bugs. We took an iterative approach in refactoring where small framework components were first addressed and rolled out to production after testing. We believed that refactoring all at once entails high risk and requires special planning for testing which definitely is not an ideal way in an Agile framework. Constant customer feedback after each iteration boosted confidence on both sides.

Tailored Processes: We started initially addressing ad-hoc requirements however that wasn’t giving enough clarity on the upcoming backlog, estimates, and foreseeing accomplishments of some of the important milestones. We took ownership of streamlining project execution by introducing a two-week sprint which allowed us to groom the backlog well in advance and clarify our doubts within a day or two and relieve our clients from rigorous daily sync-ups and saved a lot of time. This increased transparency about deliverables. We also automated CI/CD through Jenkins, Docker & GCP which saved plenty of time for rolling out new features and switching to the desired version of the platform with a single click.

Delivery Excellence: Refactoring and streamlined processes started paying off and then turned-around time for feature development drastically improved manifold. Our years of experience in technologies like Java, SpringBoot, Cloud Computing, Elasticsearch, Angular, JavaScript, CI/CD, etc. helped Cinley achieve all the goals within budget and timeline.

Benefits
  • More than 3x Improvement in the import/export and queries for the large datasets
  • Highly efficient & maintainable Elasticsearch query engine for various tricky aggregations
  • Optimized front-end and backend architecture which is flexible enough to cope with future
  • Streamlined processes for project execution and delivery
  • Free architecture consultation
  • Saved hours spent per week in coordination & delivery cycles