Elixir Ecto

Open-source Elixir projects categorized as Ecto

Top 23 Elixir Ecto Projects

  • GitHub repo phoenix_live_dashboard

    Realtime dashboard with metrics, request logging, plus storage, OS and VM insights

    Project mention: Are there any other frameworks that come with a built in admin panel? | reddit.com/r/django | 2021-01-19

    it's not the same sort of admin panel, but phoenix comes with a live dashboard: https://github.com/phoenixframework/phoenix_live_dashboard

  • GitHub repo wallaby

    Concurrent browser tests with elixir

    Project mention: Ask HN: Advice for finding a remote entry-level job? | news.ycombinator.com | 2021-02-17

    What about teaching English online or becoming a sales rep for a non-US company, being a native speaker is a big plus and there is plenty of business outside US. QA might also be a possibility with your resume - learn how to use Insomnia/Postman + Selenium + some more fancy tooling to impress, like https://github.com/elixir-wallaby/wallaby + being well organized should help.

  • GitHub repo Accent

    The first developer-oriented translation tool. True asynchronous flow between translators and your team.

  • GitHub repo Nebulex

    In-memory and distributed caching toolkit for Elixir.

  • GitHub repo elixir-boilerplate

    ⚗ The stable base upon which we build our Elixir projects at Mirego.

    Project mention: Unlock/Uninstall A Dependency | reddit.com/r/elixir | 2021-01-29

    Here’s an extra tip to keep you mix.lock clean, add this to your linting rules so it gets validated automatically! It is one of the many CI checks we have for our Elixir projects at Mirego. We actually open-sourced our boilerplate project/template a few months ago if ever you are curious :

  • GitHub repo fun_with_flags

    Feature Flags/Toggles for Elixir

  • GitHub repo ecto_enum

    Ecto extension to support enums in models

    Project mention: Use the new Enum type in Ecto 3.5 | dev.to | 2021-01-05

    Postgres and MySQL have the ability to create enum types that can be used for columns and will validate them at the data layer rather than the application layer. This means that your data store would be protected from bad values. For a long time, the EctoEnum library has been the best way to set up custom enum types for Postgres:

  • GitHub repo scrivener_ecto

    Paginate your Ecto queries with Scrivener

    Project mention: 10 Years(-Ish) of Elixir | news.ycombinator.com | 2021-01-14

    > As for libraries, I challenge anyone to name an unmet dependency in Elixir that is 1) trivial to implement and 2) not for some niche application.

    For quite some time the ex_aws[0] package was no longer maintained because the only person who maintained it stopped using AWS. There were many months in between before a new maintainer was found.

    The ecto pagination[1] package has a "low maintenance" warning, basically the author is no longer maintaining it except for fixing issues even though there's a number of interesting features that could be added that other web frameworks have available.

    The arc file upload[2] package was no longer maintained or touched for a really long time until someone took it over but now that new package is also racking up open issues and looks like it kind of stagnated in development. This isn't based on looking at last commit times too. I mean there's issues open to address important topics that haven't gotten reviewed.

    There's also no official Stripe package for Elixir and all of the Elixir ones feel kind of abandoned or no where near feature parity with Python, Ruby, Node, PHP, Golang or any of the other official packages offered by Stripe. This is the last thing I want to have to implement myself since it's so critically important. The same can be said for PayPal and Braintree integration. There's official SDKs for Python, Node, etc. but not Elixir. I've asked Stripe a couple of times about an Elixir client and they all say the demand is not near enough to consider creating one.

    These are only a few examples of tools I've found in questionable state when working with Elixir compared to Python and Ruby. All of which are very important in a ton of applications.

    Then there's also less generic but still really useful things like notification abstractions to send emails, texts or broadcast notifications to a browser. Rails, Laravel and Django all have first class solutions to this where you can get up and running in no time but with Phoenix you'll have to write all of this on your own. It's a huge undertaking.

    Long story short, I started with Phoenix and Elixir almost 2 years ago and today 2 years later I feel like if you plan to write any type of business'y app with Phoenix you're going to have to end up writing a ton of libraries yourself instead of focusing on your business problem. That might not be a problem if you have a huge team and your business idea is already proven and 5+ years old but for anyone who wants to build something and see if it works, it's hard to say you'll be able to build something faster than Rails, Laravel, Django or Flask if you already know one of those frameworks.

    Now you might say some of those packages are trivial to write but they're really not. That seems to be a common pattern I've seen with the Elixir community where someone will say just do it yourself because it's easy and then you're left hanging. Sure maybe it's easy if you're Jose or someone with 5+ years of prior Elixir experience and have written 100k+ lines of Elixir code but a regular developer who just wants to build web apps (not libraries) is going run into tons of roadblocks. I know I did.

    [0]: https://github.com/ex-aws/ex_aws

    [1]: https://github.com/drewolson/scrivener_ecto

    [2]: https://github.com/stavro/arc

  • GitHub repo cloak

    Elixir encryption library designed for Ecto

  • GitHub repo paper_trail

    Track and record all the changes in your database with Ecto. Revert back to anytime in history. (by izelnakri)

  • GitHub repo Machinery

    State machine thin layer for structs (+ GUI for Phoenix apps) (by joaomdmoura)

  • GitHub repo triplex

    Database multitenancy for Elixir applications!

  • GitHub repo params

    Easy parameters validation/casting with Ecto.Schema, akin to Rails' strong parameters.

  • GitHub repo ExAudit

    Ecto auditing library that transparently tracks changes and can revert them.

  • GitHub repo ecto_mnesia

    Ecto adapter for Mnesia Erlang term database.

  • GitHub repo rummage_ecto

    Search, Sort and Pagination for ecto queries

  • GitHub repo phoenix-ecto-encryption-example

    🔐 A detailed example for how to encrypt data in a Phoenix (Elixir) App before inserting into a database using Ecto Types

  • GitHub repo filtrex

    A library for performing and validating complex filters from a client (e.g. smart filters)

  • GitHub repo ecto_autoslug_field

    Automatically create slugs for Ecto schemas.

  • GitHub repo scrivener_html

    HTML view helpers for Scrivener

  • GitHub repo ecto_state_machine

    State machine pattern for Ecto

  • GitHub repo filterable

    Filtering from incoming params in Elixir/Ecto/Phoenix with easy to use DSL.

  • GitHub repo prometheus-ecto

    Prometheus.io collector for Elixir.Ecto

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-02-17.


What are some of the best open-source Ecto projects in Elixir? This list will help you:

Project Stars
1 phoenix_live_dashboard 1,501
2 wallaby 1,149
3 Accent 733
4 Nebulex 688
5 elixir-boilerplate 659
6 fun_with_flags 582
7 ecto_enum 536
8 scrivener_ecto 456
9 cloak 425
10 paper_trail 387
11 Machinery 369
12 triplex 265
13 params 242
14 ExAudit 227
15 ecto_mnesia 224
16 rummage_ecto 192
17 phoenix-ecto-encryption-example 171
18 filtrex 160
19 ecto_autoslug_field 129
20 scrivener_html 113
21 ecto_state_machine 91
22 filterable 85
23 prometheus-ecto 69