Replies: 1 comment 1 reply
-
|
You’re absolutely right — logically, github-sync should live under the web module. But when I first looked at the design, I noticed that Overleaf itself seems to have github-sync as a separate microservice. From the package-lock file, my initial impression was that the web service might simply forward all related requests to github-sync, and then the github-sync module would use some GitHub API libraries internally. That approach could make things a bit cleaner and more convenient. Later on, though, I realized that implementing some of this functionality directly inside the web module would actually be much more convenient. For example, features like downloading a ZIP archive directly from GitHub and importing it would fit much better in the web module. The issue is that some operations involve interacting with the history-related microservice as well — for example, reading project history, exporting history to GitHub, or directly inserting the current changes into GitHub. So at the moment, I’ve kept the functionality that needs to coordinate with multiple microservices inside this separate standalone microservice. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Merged your GitHub sync into my local repo, works well, good work. I'd make some minor changes, but it's a matter of taste.
I have one question: why did you make a service of it, not just a module in the web service? This question is not a hidden criticism, I really don't know, what was the reason.
Beta Was this translation helpful? Give feedback.
All reactions