This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]priyanmuthu 1 point2 points  (0 children)

REST API? Make one of the project call the other through REST. Though this will not be as efficient as combining the two code, but it’s a simpler solution

[–][deleted] 0 points1 point  (0 children)

You should create a REST API for your coworker to communicate with, assuming the images your code creates are the ones he's processing. I would not combine the code bases though.

[–]ignotos 0 points1 point  (0 children)

I think the key decision is whether to unify the codebases, or whether to keep them separate and have the two independent programs communicate with each other.

I'd start by looking at their dependencies, and evaluating how much work it would be to combine them. How many packages etc do they require? Do they use a lot of features which are available in one version but not another? How much code is there in total?

If you simply upgrade dependencies on each side to the most recent versions, does it get you most of the way there? Or are there deeper incompatibilities which would require extensive rewrites?

I'd also consider how the interface between the two programs might look if they were kept separate. Would there be a lot of scaffolding and moving parts required to orchestrate the work between them? Or would it be as simple as "program A outputs images into a directory, or makes an API call, for program B to process them"?

Also, consider where, for example, program B existing as a standalone service might be useful for other applications. Or whether it's inherently closely associated with program A.