user1713964
user1713964

Reputation: 1249

Developing FrontEnd App without installing BackEnd

As I'm preparing my team growth, I searched informations for months about advices or good practices when it comes to welcome a FrontEnd Developer. We are running Rails API on BackEnd and Angular on FrontEnd. Right now, we use 2 separate git repos, one for front and one for back. Bot are hosted on heroku.

But our developers work with a local BackEnd. As we welcome new frontEnds we don't want them to install the whole huge package and config of Rails.

I looked at different solutions and don't know if it's possible/best :

  1. BackEnd deployed on Heroku and making a tunnel for the FE dev to access it ( what about CORS ? )
  2. Deploying a Vagrant or RailsBox ? (we tried Docker and didn't work at all)
  3. Moving the front repo in the back repo ( yes, I know that doesn't fix the main issue, but I'm wondering if the repo split could be a stop about our goal ? )

Upvotes: 0

Views: 499

Answers (1)

Andrei Ismail
Andrei Ismail

Reputation: 56

I would definitely merge the repos. This will allow you to deploy a changeset (frontend + backend) across the stack. Otherwise, deployment will get to be complicated at a stage where you don't need that.

I think the best way is to have a one-liner for your frontend-developer to install the backend environment. At uberVU, we used Vagrant for this purpose, but anything works IMO as long as it's a one-liner and works across operating systems.

You have to keep a few facts in mind:

  • make the configuration tying the frontend to the backend as dumb as possible; have good defaults in place. You don't want frontend people wasting valuable time figuring out how to link the two after running them together

  • make sure that whatever solution you use, it updates the running backend automatically when they pull in new code. One very frequent mistake in our case was frontend people updating the code and not seeing API endpoints working correctly, etc. Something that watches for filesystem changes and restarts the backend daemons should work. Be careful on whether that works correctly with shared filesystems between the host machine and the virtualization solution you choose

  • make sure that the virtualization solution you choose runs on Windows and MacOS. While backend devs tend to use MacOS and Linux, frontend developers are also big fans of Windows. The latest versions are more and more handsome.

Upvotes: 2

Related Questions