Skip to content
This repository has been archived by the owner on May 22, 2020. It is now read-only.

acutario/frankt

Repository files navigation

Frankt Frankt

Run client side actions from Phoenix

Build Status

Frankt is a small package that allows you to run client side actions from your Phoenix Framework project.

⚠ Frankt is now deprecated ⚠

Frankt has worked great for us and solved a lot of problems, but it is not maintaned anymore and we don't recommend using it in production.

Since we initially created Frankt, we have discovered better approaches to provide the same functionality.

  • Phoenix LiveView fulfills the same role that Frankt did, and also works with websockets. But it is maintained and developed by the Phoenix creators and the entire Elixir community.
  • Intercooler.js and Unpoly are minimal and stable libraries that can provide dynamism in the client while still using our beloved controllers. Those libraries can be used with any framework and language, so they have really strong communities behind them.

How does it work?

Contrary to other solutions Frankt only provides a thin layer over Phoenix channels. If you already know how Phoenix channels work, there are no new concpets to learn. You can use your existing code, you have access to your templates, business logic and any other resource of your application.

For more detailed information and some examples take a look at the official documentation and guides.

Installing Frankt

Frankt is available in hex.pm.

To install Frankt on your project add it as a dependency on your mix.exs:

def deps do
  [
    # Your other project dependencies
    {:frankt, "~> 1.0.0"},
  ]
end

Contributing to Frankt

Frankt is an open-source project with MIT license from Acutario.

If you have a question about Frankt or want to report a bug or an improvement, please take a look at our issue tracker. Pull requests are also more than welcome.

Keep in mind that interactions in this project must follow the Elixir Code of Conduct.