So, I am Antoine Proulx, I am 18 years old and I will graduate from the Cégep Saint-Jean-sur-Richelieu this semester. Next semester, I am going to Polytechnique Montréal in Software Engineering. I am really passionate by software development. I began to program about 6-7 years ago. The first language that I learned was C and then C++, but I barely remember them! I did a little bit of PHP, but I discovered Ruby soon after. In my personnal projects, I use Ruby and JavaScript to develop mostly web applications. However, few weeks ago, I discovered Elixir and now, I love it! I am still learning it (in fact, I think we are always learning!), but I love its syntax and the fact that it is well designed to work with the functional paradigm.
Few months ago, I began to work on docx_generator, a Ruby library to generate docx documents (you can see it there :
https://github.com/magicienap/docx_generator). The goal of this library was to be able to produce docx documents easily, mostly for documents that have a (boring) skeleton that can be automatically generated and that need more content to be added by a non-technical user just after.
Now, I would like to build a library to generate not only docx documents, but also odt ones. I think that Erlang would be a perfect candidate for this library for many reasons :
1. Elixir and Erlang don't seem to have a library to generate those types of documents.
2. I think we can say that generating documents can be represented by data transformations and Elixir is very good for that.
3. If this library is useful, it can push Elixir forward (I can dream, can't I?).
This library could also be used later to generate other types of documents with the same data : ePub, PDF, HTML, ...
To build my Ruby library, I used the Office Open XML Specification, so I already have a basic understanding of how the format works.
Presently, you can see that the project is not well defined, but do you think that this could be a project for the GSoC if I define it better?
Thanks,
Antoine Proulx
P.-S. I want to be clear about something. This is not a pretext to work on my Ruby library. I really want to work with Elixir and contribute to this community. It is simply that the idea came from this library.