Phoenix (Live)views with a Rails app

Hello there,

Short summary:
I would like to have some pages (not necessarily liveviews) for new features served by a phoenix app, but keep most of the rails app and solve the navigation and routing between the two of them.

Bit longer:
We have a fairly big rails application and we have a smaller phoenix app which serves currently as an API.

The phoenix app is hosted as a subdomain of the ‘core’ app so a shared-session is already set up between the two applications. The shared “partials” are also implemented in both sides (headers, subheaders) and the links are pointing to the proper servers in both sides.
Currently all the requests are handled by the rails server first.

Our goal would be to implement new features in Phoenix and also move some of the existing ones in time.

My question is what would be the best approach to handle the routing, the links and all the shared functionality between the two application?

Thank you in advance!

1 Like

Hi, @kadam

One approach I took in the past, (though, I was migrating the API service only) was:
All requests go to the phoenix app at first. Whatever, can be handled there - served from there, the rest are “proxied” over to rails app.

And incrementally adding features to phoenix app, adding a route so they no longer forwarded to rails.

There is a Plug for that poteto/terraform . Take a look at its source, it’s pretty simple.

2 Likes