Boilerplates and what they are for
Tags: webdev
Published: 2021-07-29 05:34:51

Boilerplate—how often do we use it? In everyday life, you might be using it regularly. For example, a legal contract is boilerplate. It is a ready piece of writing where you or somebody else changes or fills in the information that varies. Or if you are creating an invoice, you just fill in a boilerplate with variables. It is pretty convenient, isn't it?

In [software development](http://maddevs.io/services/?utm_source=devto&utm_medium=boilerplates#software-development), boilerplates also exist. They make the life of a developer much easier. A boilerplate refers to sections of code that can be included in many places without or with minimum alterations. So, instead of writing the same section multiple times (it means spending time and possibly making errors), a developer can get a ready-made section, make minor modifications if needed, and use it.

[![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/578vy4bxs2wiav47ukk6.png)](http://maddevs.io/customer-university/why-it-projects-are-late-and-exceed-budgets/?utm_source=devto&utm_medium=boilerplates)
 
##Why do we use boilerplates?
Yes, we use boilerplates. It was not always the case though. Earlier, we used to work on a project, and that's it. 

But one of the specific features of our work is the necessity to support the products we work on. The projects require a lot of integrations. So, developers had to do the same things many times. It means a waste of time and the increased possibility of errors. Now, when we have boilerplates, their use allows us to reduce the possibility of errors and save time.

When we see that some projects consist of similar parts, we make a boilerplate and store it in the internal repository of the company. Our developers have access to all the boilerplates that we have created and can use them whenever it is needed. This is a way for us to help one another to save time and effort whenever it is possible.

##Some boilerplates are available for external use
With time, we decided to share our boilerplates with the community. We believe that all developers deserve to have access to materials that make their lives easier. Our most popular boilerplates are the following.

##Boilerplate for a Basic AWS Infrastructure with EKS Cluster

This boilerplate is for you if you need to [rapidly deploy a Kubernetes cluster](http://maddevs.io/blog/terraform-aws-eks/?utm_source=devto&utm_medium=boilerplates), the underlying infrastructure, and supporting services in the Amazon cloud. The main development and delivery tool is Terraform. Here are the main benefits that you get with this boilerplate:

* You can get a smooth and efficient Infrastructure as Code (IaC).
* Terraform allows saving the current infrastructure state. It allows you to review any changes without applying them. And if you save the infrastructure online, you can work in a team on the infrastructure.
* The boilerplate can be expanded and updated.
* Along with the basic infrastructure, you get scaling and monitoring instruments. There is no need to modify anything manually.
* The Terraform code becomes your project documentation.

This boilerplate is safe and polished. We have used it in our own projects and have been perfecting it for months. It might take you weeks to make an infrastructure like this, needless to mention the errors that are unavoidable. Instead of wasting time, you can use this boilerplate and create the needed infrastructure within one day. And no, we don't charge anything for it; we are just proud of this great piece of work (it is great, indeed) and want to share it with the world.

[![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3p0r11hiybcueixhwb0j.png)](https://github.com/maddevsio/aws-eks-base/? utm_source=blog&utm_medium=boilerplates)

###Vue 3 Mad Boiler
If you have done any projects in Vue, you know that every time, you need to set up the store again and again. You need to add the basic structure of styles, perform the needed configuration, and do many other things. It is too time-consuming. With the Vue [3 Mad Boiler](http://maddevs.io/blog/boilerplate-to-set-up-a-vue-project/?utm_source=devto&utm_medium=boilerplates), you get the following pros:

* Ready-made folder structure
* A ready-made material icon pack
* JWT tokens
* An example of a Vuex Store that is already configured and uses a modular approach
* A framework of readily available UI elements
* SCSS style structure
* Multi Language functionality
* An example of a service that works with local storage
* Router settings and middleware
You can work on the mentioned components for a couple of weeks or you can complete them within one-two days by using the boilerplate. For us, the choice is evident. Moreover, this boilerplate is free, too.

[![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/csqhvecajxqblkziekpu.png)](https://github.com/maddevsio/vue-madboiler/?utm_source=blog&utm_medium=boilerplates)

###React Mad Boiler
The main benefit of this boiler is that there is nothing odd in it. It all is about React, nothing more. There are no libraries such as Cypress or Typescript that complicate the life immediately at the project start, there is no Redux, just React.

When starting work on a new project, you have to perform a lot of routine work, like creating the project with CRA, installing plenty of third-party dependencies, and setting them up one with another. 

If you use our boilerplate, you have everything [to quick-start a new React project](http://maddevs.io/blog/amazing-template-for-react-application/?utm_source=devto&utm_medium=boilerplates). The boilerplate uses the most advanced tools (ESLint, Prettier) to maintain the code quality. It also has Router, a library for CSS-in-JS preconfigured. So you can clone the boiler and start developing. The main benefits of the boiler are the following:

* Clean code
* Quality tests with Jest + testing-library
* CSS-in-JS approach
* Modern components using hooks - react-use
* Reliability of components.
[![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/29sks8o8svieb041vcm6.png)](https://github.com/maddevsio/react-madboiler/?utm_source=blog&utm_medium=boilerplates)

##To Sum up
We don't force anybody to use boilerplates in general or our boilerplates specifically. It is up to you to choose whether you want to reinvent the wheel whenever you start a new project or use the readily available resources. From our side, we love both using boilerplates (it saves a lot of time and allows us to prevent many errors) and creating them (we know that we do it well and we are willing to share them with the community). 

Along with boilerplates, we create [open-source projects](http://maddevs.io/open-source/?utm_source=devto&utm_medium=boilerplates) that are open to use if you want to facilitate your tasks and save time. All our projects are free to access on GitHub and you can read more about them on our website.
 
Previously published at [maddevs.io/blog](http://maddevs.io/blog/boilerplates/?utm_source=devto&utm_medium=boilerplates)