Step by step tutorial on how to create a Trello clone with Elixir, Phoenix Framework, React and Redux.
Phoenix manages static assets with npm and builds them using Brunch or Webpack out of the box, so it's pretty simple to really separate both the front-end and the back-end, while having them in the same codebase. So for the back-end we are going to use:
And to build the single-page front-end we are going for:
Sass for the stylesheets.
Elixir is a very fast and powerful functional language based on Erlang and with friendly syntax very similar to Ruby. It's very robust and specialized in concurrency so it can automatically manage thousands of concurrent processes thanks to the Erlang VM. I'm an Elixir newbie so I still have a lot to learn, but I can say that from what I've tested so far it is really impressive.
We are going to use Phoenix which is Elixir's most popular web framework right now which not only uses some of the parts and standards that Railsbrought to web development, but also it offers many other cool features like the way it manages static assets I mentioned before and, the most important to me, real-time functionality out of the box through websockets easy as pie and with no need of any external dependency (and trust me, it works like a charm).
On the other hand we are using React, react-router and Redux because I just love this combination to create single-page applications and manage the their state. Instead of using CoffeeScript as I always do, this new year I want to start using ES6 and ES7, so it's the perfect occasion to start doing so and get used to it.
https://phoenix-trello.herokuapp.com/