How To Structure Your Programming Projects

How To Structure Your Programming Projects

Gurpreet Singh

Published on Sep 11, 2021

2 min read

Subscribe to my newsletter and never miss my upcoming articles

Listen to this article

While working on the open-source projects you get very little chance to structure the project, but you still can set some guidelines upfront and stick to them.

1. README.MD file

Readme plays a crucial role in your project. Right from new team members to new teams, it helps you to understand about project/module.

It is important to set up README.MD meaningfully. Below are some example sections which can be part of your README file.

Project Title

The file should have a project/module name as a title, where people can easily relate to it.


Write something about the project or module, like some introduction to the project.

Installation Guide

Provide clear installation steps so new team members can easily set up. Make sure you address Mac/Linux vs. Windows path problems and other important points like node version etc.

Example: carbon.png

2. .gitignore

Every technology has its own project structure and standards. These standards help you to decide on what all project files are required and what all is actually needed only on your local machine or can be generated automatically by the build tool.

I would recommend creating a new project repository via the GUI tool on GitHub so you get the option to select the relevant .gitignore file.

3. Github Project Board (Kanban)

Sometimes while working on an open-source personal project you get very little time to keep track of your progress. I would suggest creating a Kanban board to track your progress.

Screenshot from 2021-09-11 20-30-38.png

4. Branching strategy

main: Branch where you can keep your final code which includes all production code.

release: Branch where you can push your changes right after production release.

feature: On-going branch where you can push your features. However, you can create another branch fix for defects.

5. Editor choice

My personal editor choice is VSCode, since it has support for almost all languages. Not only web projects but you can also work on native projects, like Flutter or ReactNative.

Feel free to share your own project experience and the tools you are using.

Banner created via: from Savio Martin

Share this