To create and manage a GitHub organization effectively, you need to understand the key aspects of GitHub organizations and follow best practices for organization setup, repository management, access control, and collaboration.
Listing organizations:
Github-sayukth (account)
Github-merusphere (account)
Below are the key standards to follow:
Clear and Descriptive Names:Ensure that the name of the organization clearly represents its purpose or focus. This helps in identifying the organization easily.
Avoid Special Characters and Spaces: Use hyphens (-) instead of spaces or special characters to maintain consistency and avoid errors.
Use Camelcase: To allow multiple words to be combined into a single identifier while keeping each word visually distinct.
Example: GithubOrganizations, GithubTeams, CamelCase
Meaningful Description: Provide a concise and informative description of the organization. This should give an overview of what the organization does.
Profile Picture/Logo: Use a relevant and professional profile picture or logo.
Links to Resources: Include links to the official website, documentation, and other relevant resources.
Descriptive Names: Use names that clearly indicate the purpose or content of the repository.
Consistent Naming Pattern: Follow a consistent pattern for naming repositories to make them easily identifiable.
Projucts should be created as Public or Private depending on the data we store and accessability.
Naming convention of the company github account
Github-Sayukth
We have to create a Organization for the account itself to maintain the repositories related to the company data.
In this we store the company website code and other data respected to the company.
Company account organization syntax:
Sayukth
For sayukth we have website, repository for that website stores under this organization.
Like this we need to follow syntax for all the products as mentioned bellow.
Creating Organizations for each product
We work on many products perallelly in a company, so here we need to maintain the github Organizations seperatly for each individual products. And also for some products we have sub products which we call it as varient.
product organizations naming syntax:
Syntax: ProductName[-<varient>]
Example: PanchayatSevaSB, PanchayatSevaTS
Note:
The PanchayatSeva is product of sayukth company. We are working with PanchayatSeva product for many states like SB, TS etc..
In the above example panchayatseva product have been differentiated with their respected state names where we call those state names a Varient.
PanchyatSeva - Product
SB- Variant
As we following the organization structure we have used Camelcase to differentite two Words “Panchayat” and “Seva” without any Space.
Sayukth
PanchaytaSevaSB
DevOpsModel
Cheerfi
Sayukth-Citizen
Sayukth-Corporate
Sayukth-Giveback
eagleiview
project-Envozyme
projects > Repositories
Repository Naming: Use names that clearly indicate the purpose or content of the repository.
Example:
Mobile app > MobApp
Flutter desktop app > WebApp
Web Server app > WebServerApp
Consistent Naming Pattern:
Follow a consistent pattern for naming repositories to make them easily identifiable.
project name should be included along with the Organization name
Syntax:
PanchayatSevaSB-MobApp
1.Create projects under github-sayukth Organization:
2.Create projects under PanchayatSeva-sb Organization:
Web Server Application project:
Survey Mobile Application project:
Govt Mobile Application project:
DevOps project:
PanchayatSeva Product Tech Documentation:
panchayatSeva-aadhaar-ocr Project:
panchayatSeva-psbot Project
PanchayatSeva-erp-website Project
PanchayatSeva-Website Project
3.Create projects under DevOpsModel Organization:
DevOps bootstrap Project:
DevOps Automation Project:
Dev-pipelines Project
4.Create projects under Cheerfi Organization:
Cheerfi-business-api Project:
Cheerfi-user-ui Project
cheerfi Product Tech Documentation Project
cheerfi-static-rest-api Project
cheerfi-devops Project
cheerfi-core-api project
cheerfi-admin-ui Project
cheerFi-nft-store-api project
cheerFi-smart-contract-api Project
5.Create projects under Sayukth-Citizen Organization:
startxi Project
7.Create projects under Sayukth-Corporate Organization:
sayukth-digital-work project
sayukth-corp-website project
8.Create projects under Sayukth-Giveback Organization:
tomcat-taglibs-standard Project
hazelcast-wm-jakarta Project
Teams are groups of organization members that reflect your company or group’s structure with cascading access permissions and mentions.
Effective team management in a GitHub organization ensures streamlined collaboration, clear access control, and enhanced productivity.
Clear and Descriptive Names: Use names that clearly indicate the team’s purpose or role within the organization.
Consistent Naming Pattern: Follow a consistent naming pattern across all teams to make them easily identifiable.
Team Naming Pattern:
Syntax:
Team-<product_name>-<team(admin, dev,devops)_name>
Example:
Team-Panchayatseva-Dev
Panchayatseva-SB:
Note: we can use short names at product name in teams.
DevOpsModel:
Cheerfi:
Sayukth-Citizen:
Sayukth-Corporate:
Sayukth-Giveback:
Naming convention of the company github account
Github-Merusphere
We have to create a Organization for the account itself to maintain the repositories related to the company data.
In this we store the company website code and other data respected to the company.
Company account organization syntax:
Merusphere
For Merusphere we have website, repository for that website stores under this organization.
Like this we need to follow syntax for all the products as mentioned bellow.
Creating Organizations for each product
We work on many products perallelly in a company, so here we need to maintain the github Organizations seperatly for each individual products. And also for some products we have sub products which we call it as varient.
product organizations naming syntax:
Syntax: ProductName[-<varient>]
Example: Merusphere, Merusphere-OSS, Elitical
Merusphere - Product
OSS- Variant
As we following the organization structure we have used Camelcase to differentite two Words “Panchayat” and “Seva” without any Space.
Merusphere
Merusphere-OSS
Elitical
Eagleeyeview
PorterEU
projects > Repositories
Repository Naming: Use names that clearly indicate the purpose or content of the repository.
Example:
Mobile app > MobApp
Flutter desktop app > WebApp
Web Server app > WebServerApp
Consistent Naming Pattern:
Follow a consistent pattern for naming repositories to make them easily identifiable.
project name should be included along with the Organization name
Syntax:
Merusphere-DevOps
1.Create projects under Merusphere Organization:
Merusphere devops Project
merusphere digital-work Project
corp-website-de Project
corp-website-com Project
2.Create projects under Elitical Organization:
Elitical Server web application Project
Elitical devops Project
elitical Fluter Desktop web project
Elitical Documentation Project
3.Create projects under PorterEU Organization:
portereu-customer project
PorterEU Product Documentation Project
PorterEU Admin Application Project
PorterEU Cloud Application Project
portereu-driver Project
PorterEU DevOps Project
4.Create projects under Eagleeyeview Organization:
Fluter Desktop application Project
Merusphere:
Merusphere-OSS:
Elitical:
Eagleeyeview:
PorterEU: