This site uses cookies. By continuing to browse the site, you agree to our use of cookies. Find out more about cookies.
Skip to main content
Metadecidim's official logo
  • English Triar la llengua Elegir el idioma Choose language
    • Català
    • Castellano
Sign Up Sign In
  • Home
  • Processes
  • Assemblies
  • Initiatives
  • Consultations
  • Conferences
  • Help

TECH Team (technology)

#Metadecidim Spreading out the developer community

  • The assembly
  • Members
  • Debates
  • Meetings
  • How to contribute
  • Proposals
chevron-left Back to list

Monorepo or mutiple repositories?

Avatar: Andrés Andrés verified-badge
01/02/2018 19:11   comment-square 3 comments bullhorn 0 endorsements
Endorsements count0
Last comment by
Avatar: Xabier Xabier verified-badge
Participants 3
Groups 0
Reference: MDC-DEBA-2018-02-33

Share:

link-intact Share link

Share link:

Please paste this code in your page:

<script src="https://meta.decidim.org/assemblies/eix-tech/f/86/debates/33/embed.js"></script>
<noscript><iframe src="https://meta.decidim.org/assemblies/eix-tech/f/86/debates/33/embed.html" frameborder="0" scrolling="vertical"></iframe></noscript>

With our current architecture we're facing a crossroad, where we need to talk about how could be the best approach to handling all the git repositories and all the problems that we're having right now and the problems to come. Starting point On one hand, this is the picture right now: Official modules on decidim/decidim decidim-accountability decidim-admin decidim-api decidim-assemblies decidim-budgets decidim-comments decidim-core decidim-dev decidim-meetings decidim-pages decidim-participatory_processes decidim-proposals decidim-surveys decidim-system decidim-verifications Official modules outside decidim/decidim decidim-module-consultations decidim-module-sortitions decidim-initiatives decidim-results decidim-module-blogs decidim-module-mentions Non official modules Census (DIBA) Crowdfundings (podemos-info) DataViz (Barcelona) Debates (Barcelona) Members (FundAction) Pol.is (OSP) Surveys (Hospitalet) User Export (OSP) Verification Census API (DIBA) Verification Census API (Barcelona) Votings (podemos-info) Two possible roads Monorepo This is mostly how we're working right now. The only difference between what belongs on decidim/decidim right now are not technical issues but mostly administrative reasons (which company has made that development). This would involve moving all the Official modules outside decidim/decidim to Official modules on decidim/decidim. Pros This is simpler, specially because it allows the APIs to change on any given moment and make that change on a single PR, and all the CI and translations on the same place. Also simpler to grep. A couple big companies that had this model are Google and Facebook. More info: https://danluu.com/monorepo/ Cons This doesn't scale that well (lots of LOC for every module, lots of times to CI to finish). Multiple repos Most of the modules of Official modules on decidim/decidim should go outside, leaving a leaner core module: decidim-admin decidim-api decidim-core decidim-dev decidim-pages decidim-system All the other modules would be on separate repositories. Pros Allows to make the APIs between modules more mature, allow better scaling. Cons This have some pain points, regarding: Translations: we should create a new crowdin project with their integration CI: configure again. Maybe with dummy apps and default configs it's a little less pain Docs? Issues Having somekind of generators or a skeleton on making a new gem would reduce these pain points.

Report inappropriate content

Is this content inappropriate?

Reason

Close debate

What is the summary or conclusion of this debate?

Comment details

Order by:
  • Older
    • Best rated
    • Recent
    • Older
    • Most discussed
You are seeing a single comment

View all comments

Avatar: Andrés Andrés verified-badge
01/02/2018 19:13
  • Get link Get link

We were having this discussion on Github: https://gist.github.com/andreslucena/cb8f28e54ac1e4b3e12e05e7ffe17c8b

Loading comments ...

  • Terms and conditions of use
  • About the community
  • Download Open Data files
  • Metadecidim at Twitter Twitter
  • Metadecidim at Instagram Instagram
  • Metadecidim at YouTube YouTube
  • Metadecidim at GitHub GitHub
Creative Commons License Website made with free software.
Decidim Logo

Confirm

OK Cancel

Please sign in

decidim Sign in with Decidim
Or

Sign up

Forgot your password?