Hacktoberfest, the good kick
Tags: hacktoberfest, opensource, contributorswanted
Published: 2020-10-18 14:56:03

---
title: Hacktoberfest, the good kick
published: true
tags: hacktoberfest, opensource, contributorswanted
cover_image: https://images.unsplash.com/photo-1534803522048-835d05301b08?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1909&q=80
---
<!-- ✨This template is only meant to get your ideas going, so please feel free to write your own title, structure, and words! ✨ -->

## Jolimail Overview

Before joining Docker and then Datadog, I used to build applications for clients. Each application had to have a way to send transactional emails and the available solutions for that were never awesome, nor installable on premise.

Last year I decided to make a big move from the JS environment to Rust and decided to implement the nice [MJML Framework](https://mjml.io/) in [Rust](https://crates.io/crates/mrml).

From that, came [Catapulte](https://github.com/jdrouet/catapulte) which is a microservice that **only** generate emails, interpolates variables and sends the email.

But the solution given by [Catapulte](https://github.com/jdrouet/catapulte) was not what I expected: you still had to develop the template by hand and put it in the [Catapulte](https://github.com/jdrouet/catapulte) container you run in production.

From that, was born [Jolimail](https://jolimail.io) which allows you to edit the Mjml template in the browser and have a direct preview. And the big advantage of the [Rust](https://crates.io/crates/mrml) implementation is that everything is running in the browser. As opposed to MJML that cannot run in the browser and has to make a backend call each time you have to render your template.

The other advantage is, although we don't have a WYSIWYG editor yet, that anybody can edit a template in [Jolimail](https://github.com/jdrouet/jolimail), make several different versions, but only publish the one they want when they're ready.

<!-- Describe/Introduce your project. Make sure to make this as friendly as possible for new contributors! Are there specific issues you're hoping contributors can help tackle? Share them here too!-->

<!-- Tip: add the #contributorswanted tag to this post and try using our GitHub Liquid Tag -->

---

## My Hacktoberfest Experience

As of today, the whole suite is working, you can host a [Jolimail](https://github.com/jdrouet/jolimail) instance and a [Catapulte](https://github.com/jdrouet/catapulte) instance, and send emails.

The main features to come will be to implement a WYSIWYG editor and another microservice to have the confirmation of reception for the emails.

<!-- Share a bit about where you’re at in your Hacktoberfest journey. What stage are you at? How has the process been? Which PR are you on?  -->

---

## What I Learned From Hacktoberfest

<!-- What did you learn that can help others contribute to the project you worked on? What did you learn that can help the users of that project?! -->

You've to make a checklist and stick to it. When you work on your own project, you can be easily distracted. You don't have a constraint (maybe time) on what you've to do, so you easily digress. So, to be sure you don't go out of the way, make a checklist and go!