zporter
ElixirConf US 2018 – Breaking Down the User Monolith – Zach Porter
Coming from Ruby on Rails, the convention is to have a
Usermodel 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, andEcto.Multito 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
Trending in Talks
LT: Skode: an ASCII shorthand for audio experimentation - Joseph Stewart | ElixirConf EU 2026
Comments welcome! View the ...
New
How to Think About Game Servers (Pt 2)
Hernán Rivas Acosta looks at how latency and jitter affect multiplayer games and the techniques d...
New
Lightning Talk: Kate Rezentes - Notion-land | ElixirConf US 2025
https://www.youtube.com/watch?v=nLWm8gIz8TI
Comments welcome! View th...
New
Lightning Talk: Vito - An Absurd Situation with EPMD | ElixirConf US 2025
Comments welcome! View the <span class="hashtag...
New
Lightning Talk: Ivy Markwell - Data migrations with Monarch | ElixirConf US 2025
https://www.youtube.com/watch?v=AF1z6Z3bJKY
Comments ...
New
AI-Powered Search at Scale - Jeff Weiss | ElixirConf EU 2026
https://www.youtube.com/watch?v=-a4A33hDtzA
Comments welcome! View the <s...
New
Testing Concurrency and Fault Tolerance in Elixir/Nerves - Marta Habdas | ElixirConf EU 2026
Comments welcome! View the <...
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 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
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
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
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
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 3- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
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
Hey! Thanks for your interest in my talk!
Quick answers to your questions:
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 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 existingUserschema as well as theCredentialschema to persist to the relevant tables in the database. I hope that helps to clear the example up some! Theembeds_oneandembeds_manyfunctions 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
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!