What is Cosmos and how does it improve efficiency?

OTHER READS

What is Cosmos?

At the heart of Cosmos lies two fundamental principles. DRY KISS, no it’s not what you experienced in high school, but these are the basis of good software, Don’t Repeat Yourself and Keep It Simple, Stupid. The need for such a system was highlighted by Maurovic Cachia in this post.

These two very basic principles seem to get lost in a project once it starts scaling up and more and more developers are introduced to the project. Writing reusable code helps in maintaining the project size, consistency and most of all saves precious time, especially when the base system has to be revisited in the future.

Our Approach

In Sector Eleven’s line of work, each and every business has unique requirements and workflows. Such requirements can range from a booking system to a fully automated dispatching system. So how does one apply these fundamental principles to such a diverse and varied client base?

Initially, Cosmos started its journey as a solution to creating complex UI components at a rapid pace. It offered a range of shared UI elements that could be easily integrated into any project.

But that wasn’t enough. So we took this approach of abstracting layers and components to our backend services by leveraging microservices. We developed packages that abstracted and optimized our backend services so that it made services such as e-mail, notifications, and Role Based Access Control a breeze to implement inside projects. With each iteration, Cosmos grew in functionality and capability, ultimately proving that software projects can be easily maintained & upgraded in a timely manner all while keeping all the custom goodness that our clients grew to expect from us.

What are the benefits?

Cosmos enables us to push the boundaries of software development by allowing our team to focus more on innovation rather than waste time on boilerplate code and setup while giving our clients accelerated development timelines and minimal time between feature requests, development, testing, and push to production.