mksaga

mksaga

Independent applications as local dependencies?

Hello folks,

Hope you are well! Have been playing around with Elixir for a few months, loving the language :slight_smile: I’m looking for advice on how to manage dependencies between multiple Elixir applications.

My intention is to build a backend system for a bank made up of many (100s, maybe 1000’s) separate independent applications that call into each other - I like the Elixir approach of building several smaller applications, but I am having some trouble setting up config & dependencies.

I don’t want to go the umbrella application route, since it sounds to me like all config would live in one place - I anticipate each application having its own configuration, and I’d like to be able to release individual applications without releasing a new version of the entire system (open to suggestions on this though?).

Pursuing this so far, I have a single Github repo holding multiple Elixir applications, each generated separately. My intention is that application A can call functions in application B - initially, to make that happen, I added application B as a local mix dependency in A.deps().

What I’ve found is that I have to add calls to import all config needed by application B inside application A, which feels wrong? (ex: A is a CLI tool which calls into B, which has some Ecto configuration and queries to return values; if I launch A, in order for A to call B’s public API functions, I have to import B’s config in A’s config files)

What am I missing here? The independent application approach makes a lot of sense to me and feels intuitive, but I’m not sure how to set it up so that these applications can fluidly call into each other while each application contains its own concerns like config, etc. I’m looking to set up something like a microservices design, where “services” are independent applications all running inside the BEAM.

Thank you in advance! :pray:

First Post!

tomkonidas

tomkonidas

Poncho Projects might be interesting to check out. They are basically linking all the apps via Path

Where Next?

Popular in Questions Top

openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
quazar
How to set Jason to encode all fields in ecto schema, I don’t care about security and implementing only is taking long list of attributes...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
Fl4m3Ph03n1x
Background Let’s assume I have a typical GenServer that receives messages as requests, does some operation in a DB and returns responses....
New
hpopp
To simplify some tasks at work, I wrote and published this package yesterday. It’s a simple macro that enables Access behaviour on struct...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list....
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
Nvim
Elixir appears to be a superior language to Python. I don’t see any advantage of Python over Elixir. Are there any?
New

We're in Beta

About us Mission Statement