1
3 Comments

Github question(s) - Cmds to generate following layout

Hi.

Steping into Github. Doing initial research, trying to understand/figure out how to set up the following layout. My use case:

I have multiple clients. Each client might have multiple repos/apps. Is there a way to set this structure/layout within Github. At the same time, I'm assuming I can have "team" members only access specific repos of the projects.

Ben searching over the 'net, haven't found any example that fits what I'm looking for. I've found plenty on just creating a single repo. Haven't found any that "group" multiple repos in a larger project. I'm looking for the cmds I can use to build this from the cmdline.

I know this is basic, so I'm missing some things.

Here's a test layout I'm considering:

client1
repos1
contains app1 -dashboard webapp
doc files
code dir/files
test scripts
webserver files

contains app2 -finanacial webapp
doc files
code dir/files
test scripts
webserver files

contains app3 -mobile monitoring tool
doc files
code dir/files
test scripts
webserver files

repos2
contains appA - game webapp
doc files
code dir/files
test scripts
webserver files

client2

reposTest1
contains appA -control webapp
doc files
code dir/files
test scripts
webserver files

contains appB -Launchpage webapp
doc files
code dir/files
test scripts
webserver files

reposTest2
contains appZ - sell used goldfish mobile app
doc files
code dir/files
test scripts
webserver files

Thoughts/Comments are welcome.

on May 6, 2020
  1. 1
    • Create one github organization per client (let's call them client1Company, client2Company, ...)
      (to do that, click the + at in the top bar, then New organization)

    • Put each client's project(s) in their own organization
      (since you created the org you're allowed to add projects to it)
      e.g. the links to the (private) projects are gonna be:

    github.com/client1Company/financial-app-frontend
    github.com/client1Company/financial-app-backend-api

    github.com/client2Company/meditation-mobile-flutter
    github.com/client2Company/meditation-backend
    github.com/client2Company/meditation-yt-soundtrack-scraper

    • Invite client1 and client2 to join their respective organization with their github account (if they don't have an account, invite them by their email address)

    • when it's time for you to leave the project, transfer the organization ownership to their github account

  2. 1

    I think the main things to consider are who is going to want the responsibility of maintaining these repos currently and who might need it transferred in the future.
    If you are the consultant and owner of all right now, you could just

    1. make them all part of your own org at the top level, keeping them as private , and set up individual permissions on them to who needs access to contribute.

    2. With multiple clients, it might be worth exploring creating and maintaining multiple Github organization accounts for each. So github.com/companyname and then each of those accounts have their own repos inside, and then it would be less hassle to transfer or move, if the company say hires someone and wants to take over from there. This seems like the safer route for privacy and separation of concerns , but with a little more overhead of managing multiple github credentials and switching back and forth between a handful of accounts

  3. 1

    This comment was deleted 6 years ago

    1. 1

      Hi Piero,

      I think I'm over thinking this. I'm considering the situation, where a consulting operation might have two (2) different customers. Each customer/project might have multiple software apps. What would the git/github layout look like?

      Would it consist of a top level "repos" with each subordinate app in it's own "repo". In other words, can you have repos under repos?

      -or-
      Could you have a top level "clientName" and underneath that "toplevel" you have subordinate project directories?

      I've seen articles that support ust having a repos for each software app, resulting in multiple repos? I've seen articles that support a single top level "Repo", with each associated software app being in an underlying directory. There are pros/cons for each approach.

      So.. Thoughts/Comments are more than welcome!

      -bruce