Open-source projects categorized as Ecto | Edit details
Language filter: + Elixir + Crystal

Top 23 Ecto Open-Source 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 crecto

    Database wrapper and ORM for Crystal, inspired by Ecto

  • 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.

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? This list will help you:

Project Stars
1 phoenix_live_dashboard 1,547
2 wallaby 1,189
3 Accent 750
4 Nebulex 717
5 elixir-boilerplate 709
6 fun_with_flags 597
7 ecto_enum 538
8 scrivener_ecto 465
9 cloak 435
10 paper_trail 414
11 Machinery 377
12 crecto 327
13 triplex 283
14 params 250
15 ExAudit 239
16 ecto_mnesia 225
17 rummage_ecto 194
18 phoenix-ecto-encryption-example 173
19 filtrex 162
20 ecto_autoslug_field 132
21 scrivener_html 115
22 ecto_state_machine 91
23 filterable 85