Announcing PlanetEx: an open source blog aggregator written in Elixir
A long time ago, a few developers at SEP built a program to aggregate employee’s personal and internal SharePoint blogs. They called it Planet, after planet.rb, the Ruby gem they used to build it.
Unfortunately, our old Planet met its inevitable demise after an upgrade to our SharePoint instance that broke some compatibility. I decided this was a perfect opportunity to introduce some Elixir to SEP, and so PlanetEx was born!
You can check out the code on GitHub and follow the deployment instructions to deploy your own instance!
About the tech
PlanetEx is built using Elixir and the web framework Phoenix. Elixir is used for building concurrent applications using the actor model by leveraging the Erlang/OTP ecosystem.
The project utilizes the concurrency model provided by Elixir to manage a simple tree of processes that are responsible for fetching each blog. Along the way, I found difficulty in find learning material on how to build and test Phoenix applications that took advantage of this, so one of the motivations for open-sourcing PlanetEx is to provide an example application for beginners in the community.
About the app
PlanetEx is a small web application with a few pages. The homepage to display the aggregated blog feed, a page to configure your Planet, and a page to add/edit/delete blog feeds. It outputs an Atom feed at /feed.xml.
At SEP, we primarily use Planet via the RSS bot in a Slack channel called #planet.
You can check out our other open source projects at: https://github.com/sep.