Project overview

A custom SaaS system designed to automate critical business processes in private kindergartens, including children and employee attendance tracking, accounting operations, and license management.

Client: A leading European application service provider delivering customizable business process automation solutions to private kindergartens.

Industry
Education, Civil Engineering
Delivery Model
Managed dedicated team
Domain
Effort and Duration
15 months, 165 man-months so far
Technologies
.NET, Front-End, ASP.NET, AngularJS, TypeScript, Knockout.js, jQuery, Less, MS SQL, NHibernate, RabbitMQ, MassTransit, NuGet

Project context

Oxagile had been the client’s dependable partner for many years, working on a number of SaaS projects ranging from performance tracking solutions to financial and accounting applications, all intended to help private kindergartens automate their day-to-day workflow.

As the client’s business matured, the solutions were growing increasingly complex, while being hindered by code duplication. Rolling out new features without introducing regressions and undermining quality was becoming a daunting task.

The decision was made to consolidate the previously independent systems into a single distributed solution while taking integrations to a new level. This major re-architecturing challenge called for a vendor with an excellent level of technical know-how as well as a solid grasp of the underlying business logic.

Oxagile’s differentiators

Oxagile emerged as the natural choice to tackle the project. Over the years, Oxagile’s developers had acquired a good understanding of the solution’s business logic, while the client got firsthand evidence of their .NET expertise, SaaS experience, and dedicated work ethic.

Crucially, Oxagile could also provide a highly qualified architect capable of envisioning a scalable, maintainable, and efficient system design.

Delivered solution

The system’s redesign has been going on for 15 months. During this time, Oxagile carried out a complete system overhaul to deliver a highly integrated, end-to-end BPM automation solution for kindergartens that facilitates attendance tracking, resource planning, financial statements processing, and more.

The back office handles the bulk of the business logic, and is available to authorized staff via an intranet. The front office enables employees and parents to access critical functionality from the public internet in a secure way.

The solution relies on a microservice architecture to achieve better integration and scalability, improve product quality, and dramatically accelerate time to market.

Key features and highlights

  • Financial reports and analysis
  • Payroll and travel expenses calculation
  • A single entry point for all applications complete with seamless SSO-based authentication
  • An ability to manage working hours, business trips, vacations, sick leaves, etc.
  • An internal forum for kindergarten employees
  • A knowledge base with technical support questions and answers
  • Automatic and manual resource planning
  • Employee and child attendance/absence tracking
  • Creation and management of financial documents (payroll sheets, invoices, transactions)
  • An event calendar that allows tracking event status, due date, and more
  • Application license management (flexible pricing based on the number of required user sessions and company accounts)
Streamlined Architecture

The redesigned architecture made the system much easier to maintain, allowed expanding the user base, and ensured tight integration of all subsystems.

Faster Time to Market

The teams working on different system components can now develop, test, and deploy functionality in parallel, which translates into faster feature rollouts and accelerates speed to market.

Simplified Testing

New features and bug fixes can now be deployed at a microservice level, which makes isolating regressions much easier and facilitates testing.

Hassle-free Maintenance

The modular design brought the amount of duplicate code to a minimum. By encapsulating chunks of functionality in separate containers according to business context, the team made maintenance and updates an order of magnitude easier.

Improved Scalability

Importantly, the microservice architecture makes use of horizontal scaling, which allows the client to expand their user base without worrying about additional system load.

Optimized Team Efficiency

Compartmentalizing business logic made understanding the system much easier for new team members, who now spend less time reading the specification documents and more time writing quality code.

System Performance and QA

Because of the strict performance requirements and the need to support tens of thousands of users, performance-aware development became part and parcel of the project.

Some of the steps and procedures the team undertook to maximize performance included the following:

  • Continuous code performance analysis and bottleneck identification
  • Extensive use of TPL for multithreading, parallelism, and asynchronous task execution
  • SQL query profiling, tuning, and optimization
  • Rigorous stress-testing to ensure the system will meet the client’s load requirements

Every release undergoes stringent regression, acceptance, and smoke testing. The number of critical regression checks alone is well over 3,000.

Conclusion

With Oxagile’s help, the client managed to deliver a custom BPM product suited for the needs of private kindergartens. The solution enables end users to comfortably manage day-to-day administrative and financial operations, while being easy to maintain and troubleshoot.

Currently, work is underway to implement new features and functionality enhancements, while seamlessly migrating business-critical data to the new architecture. In addition, the client is planning to introduce an updated financial system for better documentation processing.