FedericoAlcantara
Aurora.Ctx is a code generation library that implements the Context pattern in Phoenix applications.
It automatically generates standardized database interaction functions following Phoenix’s architectural guidelines, while maintaining full compatibility with Ecto’s query composition and changesets.
The library supports both standard CRUD operations and advanced query features like filtering, sorting, and pagination.
See the documentation in hex
Trending in Announcing
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries.
offset-based pagination with...
New
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New
I released Doggo, a collection of unstyled Phoenix components.
https://github.com/woylie/doggo
Features
Unstyled Phoenix components....
New
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hello
Published a new library - ProcessHub!
ProcessHub is a library designed to manage process distribution within the Elixir cluster. ...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
This showed up on my feed.. anyone heard of it? Just hype?
Ox Alpha is a reasoning model designed for coding, sustained ag...
New
Hey folks,
I just published a post about Hologram’s funding and where the project goes next - the short version:
Curiosum as Main Spons...
New
:microphone: ElixirConf 2026 - Call for Talks is open!
We’re heading to Chicago :united_states:
:round_pushpin: In person + virtual
:d...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #ai
- #elixirconf-us
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #elixirconf-eu
- #metaprogramming
- #hex











Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
egze
Nice. I like the
def new_{resource}function. I’ll add it to ContextKit as well, before I was using plain structs to init them. How does it work in your library? Does it go through the Ecto.Changeset or you give the params straight to the struct?FedericoAlcantara
Thanks
It goes thru the changeset, by default to function :changeset, but the name of the changeset to use can be passed as an option.
Asd
I never understood the use-case for these libraries, but I’ve seen a lot of them in my career.
First of all, it is not saving any typing, essentially providing oneliners replacing other onelines
Second, it makes it impossible to search for definition. When I will go to
Productmodule, I won’t be able to find what thelist_productsfunction does, because I can’t see itThird, every time I used this approach, it quickly became unmaintainable, because CRUD operations which just do plain CRUD are extremely rare, and most of them usually contain some business logic which is reflected in query (like, for example, product ownership checks, soft-deletion checks, category checks, normalized form preloading, etc.)
So every time I used one of these libraries, they became a huge frustration for me and other devs
lawik
Cool! Good that people are trying things in this area. Have you compared your work to Ash? conceptually it seems like where Ash began?
Is the idea to keep the generated code and commit it, and then modify it or keep regenerating it and never deal with the finished module..
FedericoAlcantara
Asd
The purpose of this library (as clearly stated) is to reduce the amount of lines of code.
About the usefulness of it, depends on the level of maturity that this library reaches.
For example, with this library (this is the first version) you’ll get controlled pagination, preloading, filtering and sorting with just one line of code.
Of course, you might have use cases when the use of AuroraCtx is not worth it, and that is ok.
FedericoAlcantara
Lawik
I think this is different, Ash provides a DSL framework for all aspects of coding. There are new elements (like records) and several abstractions (like actions).
AuroraCtx is a simple DSL to produce common functions for working with Repos and Schemas. How is that useful? When you work with several schemas you end up repeating similar code for each of them, with AuroraCtx you can avoid that and focus on your business logic.
lawik
Huh. So same set of context functions for a few different schema definitions? I mean, I’ve seen it but I’m not sure it is something I would bring in a library to deduplicate.
When have you had the need?
FedericoAlcantara
Lawik
These context functions are to be used, for example, in Phoenix applications. In that way, the view (Phoenix) does not have to know about how the data is accessed (Repo).
That is one intended use case.
FedericoAlcantara
Just published a new version. With two minor enhancement:
See the documentation at hex
or the code in GitHub wadvanced/aurora_ctx
FedericoAlcantara
Hi folks!
Just released version 0.1.5 of Aurora Ctx with a couple of new interesting features:
New Filter Options
:whereoption:Fields Selection Option
Now you can list the fields that will be read from the database table(s). This option also supports dynamic expressions.