zporter

zporter

ElixirConf US 2018 – Breaking Down the User Monolith – Zach Porter

Coming from Ruby on Rails, the convention is to have a User model handle multiple aspects of an account such as login, logout, password reset, and email confirmation. While there is a temptation to bring that convention with us when building an Elixir application, we can do better by leveraging bounded contexts, Ecto’s embedded schemas, and Ecto.Multi to break these separate pieces of functionality into isolated chunks that are easier to maintain and extend.

Audience: Beginner, Intermediate

All talks are available in the ElixirConf US 2018 Talks List or via the elixirconf2018 tag

Showing Posts 1 to 3

Yamilquery

Yamilquery

Hi guys! First of all, thank you so much for this ElixirConf 2018, was really awesome!

I was watching the ElixirConf 2018, specifically a video “ElixirConf 2018 – Breaking Down the User Monolith – Zach Porter”, in which he explains how to breaking down the User monolith. But I had a couple of doubts with it, and it seems to they disable the comments section in Youtube.
So, for that reason I’ll ask, if somebody have a github repo of this talk.

I was trying to replicate the exposed approach, but I got some errors.

The trouble that I have is with the embedded_schema. Because I was watching the video and it’s seems to be incomplete, he don’t explain how to declare the structure for the user schema, using something like embedded_one and also he don’t show how can we create the migrations for that embedded field.

I found a tutorial to do that thing, but I’m not pretty sure if it’s the best practices.

https://robots.thoughtbot.com/embedding-elixir-structs-in-ecto-models

Thank you so much!

zporter

zporter OP

Hey! Thanks for your interest in my talk!

Quick answers to your questions:

So, for that reason I’ll ask, if somebody have a github repo of this talk.

Not yet, but I am planning on finishing one that I started to accompany this talk. I can post here when it’s ready.

The trouble that I have is with the embedded_schema. Because I was watching the video and it’s seems to be incomplete, he don’t explain how to declare the structure for the user schema, using something like embedded_one and also he don’t show how can we create the migrations for that embedded field.

The example I gave using embedded_schemas was around Registrations. I apologize if it wasn’t clear, but I’m not actually persisting that embedded schema to the database. I’m using it to provide structure to a form or a set of user inputs and to manage changes and validations for those inputs. I’m then relying on the existing User schema as well as the Credential schema to persist to the relevant tables in the database. I hope that helps to clear the example up some! The embeds_one and embeds_many functions are very useful for storing in a JSON column in the database, and I’ve certainly done that before, but not in this case.

If you have any further questions, please let me know.

Thanks!

ErionS

ErionS

Hey!

Great presentation, just watched it.

Could I get the github repo with the code presented please as I too have been looking for the presentation code.

Thanks!

— All posts loaded —

Where Next? Top

Trending in Talks Top

CodeSync
That’s a wrap on Code BEAM Europe 2026! Thanks to everyone who came to Haarlem or joined online, and to our speakers, trainers and sponso...
New
CodeSync
The Graveyard of Good Ideas - Quinn Wilton | ElixirConf US 2026 Comments welcome! View the <span class="hashtag-icon-plac...
New
CodeSync
Building High-Performing Engineering Teams | Christian Koch | ElixirConf US 2026 Rountable <span class="hashtag-icon-placeholder"></span>...
New
CodeSync
LT: E-mail is broken! | Zach Supalla | ElixirConf US 2026 https://www.youtube.com/watch?v=BoHx136rgbE Comments welcome! View the <span...
New
CodeSync
LT: Elixir for Gaming! Using Network to Power a Sophisticated Multiplayer Simulation - Mik Ahmed https://www.youtube.com/watch?v=wbkIld3...
New
CodeSync
LT: Process Dictionary Debugger - Andrew Glassman | ElixirConf US 2026 https://www.youtube.com/watch?v=ATN67Hj0C-8 Comments welcome! V...
New
CodeSync
LT: Quillex Hits 1.0 – the First Native Elixir Text Editor - Luke Taylor | ElixirConf US 2026 https://www.youtube.com/watch?v=6d69M74qRK...
New

Other Trending Topics Top

dominicletz
Hey there, I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first. ...
New
raa-ziq
Hi everyone :waving_hand: I wanted to share something I’ve been building — NowBlind, a random chat app designed to help people discover ...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
OndrejValenta
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly) AI dream has many faces, but general...
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews