Advantages of Github as a SCM system

Richy Great
3 min readMay 27, 2020

--

Photo by Richy Great on Unsplash

This story is part of a series “Initial Commit till Running on Cloud”.

You have been day dreaming during your regular routine and suddenly something contagious comes to you. No not the respiratory syndrome which paralyzed the whole wide world. I am talking about an ‘Idea’. What’s more contagious than an idea, right?

This brilliant idea for an online business now took root in your gray matter and you want to make it a reality. You certainly don’t want to end it like those thousand unfinished ideas you had till now. My advise to you buddy is to start building something right away. Before the flame dies finish your MVP. I mean it, finish. When you finish something it gives certain sense of satisfaction which drives you to do greater things.

Okay I hope now the fire is burning real hot, let’s line up the meat on the skewers. Skewers — a long piece of wood or metal used for holding pieces of food, typically meat, together during cooking. Github the source control system that is used for holding our code together during building. Meat being the code in our case.

Why choose Github?

Git is the de facto standard for version control system these days, if you argue please talk to those guys who preach GitOps. So if you agree with me then you know we have many options in market like gitlab, bitbucket, etc. Choosing Github for your REACH_THE_MARKET_BY_NEXT_SUNDAY project will help you in few things

  1. Github is the goto place for open source projects and open source developers swarm Github. So if you decide someday to go open source then Github will make it easy and secure a bright future for your project.
  2. AWS, IntelliJ IDEA and Visual Studio Code has very good integration with Github. Login once and all your projects are ready whenever you need them.
  3. The UI is clean, minimal and elegant.
  4. Now you can have unlimited public and private repository for free.

Okay now that you know how opinionated I am, we can continue to create our repositories for our awesome project.

Creating Repositories

Any online application needs a UI component and one or several backend components. We will create 1 repository for a separately deployed component.

If a component runs in a uniquely assigned port, create a repository for it.

You will definitely need users to run a business and make profit out of it, they can be business customers or general public. In any case there will be a registration and a login. With this thought in mind ask yourself this question,

Is a single UI enough to satisfy your whole product or you might need multiple UI components? Imagine you are running an online shopping portal and you decide to have 1 UI for the shops to manage their storefront and 1 UI for the actual customer shopping. Here you should have 2 UI components and hence 2 repositories.

Say you are running an online chat system, you can do it with just 1 UI and hence 1 repository.

Initial Commit

Create your initial commit in all those repositories with a README.md file

# Awesome Project

May be a short description about this repository. How to checkout and run the project. Needed dependencies, known issues etc.

Also add a ‘.gitignore’ file which contains files or folders which should be ignored by the IDE tools while committing code from local.

node_modules/
target/
.idea/
*.iml
node/
build/
package-lock.json

This is how my .gitignore files look like. It is a sample from one of the UI component which includes an angular front end and a java backend for frontend BFF (I will explain this in later parts).

You can do these in Github directly without any IDE. Now we are ready to checkout our projects and add our source code.

Going good? Please read the next part of this series. Also kindly leave your feedback :)

--

--

Richy Great
Richy Great

Written by Richy Great

Father, Software Developer, Tech founder and a Story teller

No responses yet