black.uprise

black.uprise

Hi all,

I’ve released Vicander 0.1.1, a DDD framework for Elixir built on behaviours and macros (modules are DDD.*).

The core idea is to lift Elixir’s great features to next level :}. Elixir is great but lacks proper library to put some good constraints on usage of data structures.

What I added is support for:

  • Entities, aggregates, value objects, composable specifications (always valid domain entites)
  • Commands and queries with typed params, filters, pages and cursor slices
  • A transactional event outbox (retries, leases, dead letters, per-handler delivery tracking) for domain events
  • Projections (read models fed by events, rebuildable based on history)
  • Ecto/Postgres repositories behind a port, auto-generated by framework (similar to spring data repositories)
  • An MCP server native support, so you can expose commands/queries and repositories through MCP server very easily (matter of configuration)
  • mix vic.* tasks: migration generators, health, dead-letter tooling, projection rebuild

{:vicander, “~> 0.1”}

It’s a library: it starts nothing on its own. Set config :vicander, repo: MyApp.Repo and add {DDD.Supervisor, handlers: […]} to your supervision tree.

Example: vicander_examples (GitHub - blackuprise/vicander_examples: Example applications built with the vicander DDD framework · GitHub) is a full todo app with four layers and compile-time boundary checks. It has event-driven achievements and is served over MCP and a small HTTP API.

Status: PostgreSQL only for now; DDD.Dialect is the seam for other databases.

Hex: vicander | Hex
Docs: vicander v0.1.1 — Documentation

Source:

GitHub - blackuprise/vicander: Domain-Driven Design framework for Elixir · GitHub (Apache-2.0)

Feedback welcome, especially on the API shape and/or people want to join and contribute. In order to make it properly I would expect some help from community.

Regards,

Mika :}

Where Next? Top

Trending in Announcing Top

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
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
quatermain
Hello, I’m sharing my plugin here in forum after some time so it has time to mature and proof yourself. I use Claude Code daily on a pr...
New
gtcode
Aloha gang, There’s a new class of AI model out from TypeSafe. Jev is their flagship model. You can learn about it here: ...
New
LostKobrakai
I’ve recently created a small library phoenix_vite integrating the vite build tooling with phoenix. It provides an igniter.installer t...
New
danschultzer
I needed something like premailer for rails, and after searching, I decided to make an easy-to-use library to handle inline styles and co...
New
kraleppa
If you’ve ever had to debug a BEAM node you know it can be a painful process. Parsing raw data, or dealing with clutter often gets in the...
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
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
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
AstonJ
AI tools and services seem to be the new JS framework - with new ones popping up every 5 minutes - hence it might be worth posting one of...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews