No amount of exercise or book problems replaces writing an actual library or application, but it can be hard for a newbie to know what to write. This is a thread that helps with that.
I’m looking for two things:
General Elixir project ideas—things Elixir is good and well-suited for. Doesn’t have to be something new or worth putting in a portfolio.
What libraries do you think are missing in the ecosystem? Writing something many others may use feels great.
I would love to see more Elixir efforts around an open source ecommerce platform. The ecommerce options out there are downright depressing and this is an area where Elixir/Phoenix can really shine. See peach for a WIP (the only one I know of!).
Although it is far from trivial, probably, I would like it if there would be a Lets Encrypt client implementation in Elixir/OTP, so we could have automatic, safe and free SSL certificates on our web applications.
What would also be an interesting idea, is to create variants of the Erlang Lexer/Parser libraries Leex and Yecc that use Elixir-syntax instead of Erlang-syntax to describe their behaviour. See this wonderful guide on how Leex/Yecc work.
Interestingly, it would be possible to build this Elixir-Leex/Yecc-to-Erlang-Leex/Yecc-lexparser itself using Leex and Yecc (and maybe, just maybe, they could later become self-hosting).
I’m not sure I see the point in that gprc thing. If you have to use protocol buffers anyway then it is not open to the service it connects to. For mobile I tend to just open a raw socket connection to a server and send data back and forth in bursts after queuing up to save battery for a bit based on need.
A Let’s Encrypt handling library to put in a phoenix project however would be wonderfully nice and actually quite easy to do once a base library is built. I might get around to doing that within the next few months if no one else does.
For interfacing with Google systems sure, I could see that, that is an external defined API. But that library implies nothing of the sort and seems to be something more generic. For my erlang projects I tend to just use term_to_binary, I even use such things for many of my C projects (as I have a habit of integrating them to erlang things eventually anyway, plus it is convenient and fast). I never use REST/JSON for anything that is not strictly webserver oriented for external API’s (and even then, depending on if tcp itself is allowed then I might make a better tcp level API that bypasses the webserver). If I truly need to pack data tightly then I always bit-twiddle it together, it is always possible to shave off some bits some-how and in such places as that then protobufs is a very heavyweight protocol.