scrivener_ecto VS phx_gen_auth

Compare scrivener_ecto vs phx_gen_auth and see what are their differences.

scrivener_ecto

Paginate your Ecto queries with Scrivener (by drewolson)

phx_gen_auth

An authentication system generator for Phoenix 1.5 applications. (by aaronrenner)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
scrivener_ecto phx_gen_auth
3 6
551 803
- -
0.0 4.4
10 months ago over 2 years ago
Elixir Elixir
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

scrivener_ecto

Posts with mentions or reviews of scrivener_ecto. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-17.
  • Probuild Ex Part Four
    3 projects | dev.to | 17 Oct 2022
    An infinite scroll with liveview hook and scrivener_ecto
  • Probuild Ex Part Three
    5 projects | dev.to | 13 Oct 2022
    paginate the query with scrivener_ecto
  • 10 Years(-Ish) of Elixir
    8 projects | news.ycombinator.com | 14 Jan 2021
    > 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

phx_gen_auth

Posts with mentions or reviews of phx_gen_auth. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-03-22.
  • Build Interactive Phoenix LiveView UIs with Components
    1 project | dev.to | 18 Jan 2022
    This code assumes you've used the Phoenix Auth generator to add authentication to your Phoenix app. The details of authentication aren't important for our purposes here. Just know that the survey route is a protected route that requires an authenticated user. This means that when a logged-in user points their browser at /survey, the SurveyLive view will mount with a session argument that contains a key of "user_token" pointing to a token we can use to identify the current user. The generator also gives us a function, Accounts.get_user_by_session_token(user_token), that we will use to fetch the user for that token.
  • LiveView Integration Tests in Elixir
    1 project | dev.to | 7 Sep 2021
    We're also using a test helper provided for us by the Phoenix authentication generator—register_and_log_in_user/1. This function creates a conn struct with a logged-in user, a necessary step because visiting the /admin-dashboard route requires an authenticated user.
  • Best options for deploying your frontend and backend
    2 projects | /r/webdev | 22 Mar 2021
    Thanks for the suggestion. I started off with a Phoenix-only app but then I realised that it would be really nice to have a separate frontend. My Phoenix app was using phx.gen.auth, but according to the readme on their GH page, the `--no-html` option is not supported, so I'm thinking about trying POW. I've found this example which looks a little full-on, especially compared to how simple this is done in Django.
  • 10 Years(-Ish) of Elixir
    8 projects | news.ycombinator.com | 14 Jan 2021
    Thank you for your work on adding user registration and authorization to Phoenix!

    I'm setting up a new Phoenix app for a side project this weekend and have just run Arron Renner's [auth generator](https://github.com/aaronrenner/phx_gen_auth). Having user registration out of the box will save a big chunk of time and energy!

  • How to connect Pow and Live View in your Phoenix project
    1 project | dev.to | 10 Jan 2021
    Even though phx.gen.auth seems to be the hip solution for authentication at the moment in Phoenix land, I still prefer to use Pow for my small hobby projects and a side project I am working on. A short statement why I prefer Pow can be found at the end of the post.

What are some alternatives?

When comparing scrivener_ecto and phx_gen_auth you can also consider the following projects:

credo - A static code analysis tool for the Elixir language with a focus on code consistency and teaching.

Pow - Robust, modular, and extendable user authentication system

ex_venture - Text based MMORPG engine written in Elixir

ueberauth - An Elixir Authentication System for Plug-based Web Applications

elixir-raknet - An Elixir client for the core of the RakNet networking protocol, useful for games and other latency-sensitive applications that typically rely on UDP

guardian - Elixir Authentication

probuild_ex - :star: Probuild clone in elixir

PowAssent - Multi-provider authentication for your Pow enabled app

canada - Easy permission definitions in Elixir apps!

ueberauth_auth0 - Auth0 OAuth2 strategy for Überauth.

stm_agent - Software transactional memory for Elixir.

ueberauth_active_directory