abreujp

abreujp

New article: Elixir Project Structure — From mix new to a Growing Codebase

I’ve published a new article in my Elixir learning series on dev.to exploring project structure — what happens when an Elixir project outgrows a handful of modules pasted into IEx, and how a real Mix project keeps everything navigable as it grows.

What the article covers

  • Spinning up a fresh project with mix new and walking through the anatomy of the default layout
  • File paths mirroring module names, with a before/after of a module that lived in the wrong place
  • Growing lib/ with real modules (a small Todo feature) and watching the tree branch into subdirectories
  • Running the project with mix run and dropping back into IEx with iex -S mix
  • priv/ for runtime assets the code reads at startup
  • test/ for the project’s own tests
  • config/ and config/runtime.exs, and the difference between build-time and runtime configuration
  • Drawing boundaries so a project stays navigable — what’s internal, what’s external, and what other code is allowed to reach

With complete working examples you can copy into a real Mix project, you’ll learn how a project’s directory map and module naming keep a growing codebase readable — a big step toward organizing Elixir code confidently.

:backhand_index_pointing_right: Check it out:

Showing Posts 3 to 1

widianto

widianto

Nice article!

abreujp

abreujp OP

Thanks! Boundary sounds great for exactly that. I’ll give it a look. Appreciate it!

roflbobl

roflbobl

Nice article! In regards to enforcing boundaries, check this lib out! Boundary — boundary v0.10.4 its really neat when you work on a big project.

— All posts loaded —

Where Next? Top

Trending in Blog Posts Top

bartblast
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
pckrishnadas88
Hey everyone! :waving_hand: I’ve published Part 7 of the Building Distributed Systems in Elixir series, where we build core distributed ...
New
zorn
An educational side project in Elixir, Phoenix, and Tauri. I share what I learned while wiring Automerge into the BEAM, including how I s...
New
nathanl
Process labels are useful for visualization and debugging. Here’s why you should use them.
New
abreujp
New article: Elixir Project Structure — From mix new to a Growing Codebase I’ve published a new article in my Elixir learning series on d...
New
andreasronge
What happens if you design tools for LLMs instead of letting LLM use human tools ? Wrote a blog on why and what that enables. As I see ...
New
mudasobwa
Somewhere, right now, a senior engineer is on the verge of a nervous breakdown because his company will not let him switch from Claude to...
New

Other Trending Topics Top

GenericJam
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
JesseHerrick
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
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
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
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews