Fundamentals, Methods and Project Management
This week was all about deepening the understanding of digital fabrication while refining project management and website development skills. The focus was on identifying the right tools and techniques for specific functions, structuring workflows efficiently, and enhancing personal digital presence.
A. Downloading Softwares & Setting Up
Initially, I was new to 80% of the softwares which were supposed to used for our journey. We were very lucky that our proffessor guided us. And to be honest, it was a bit confusing for first few hours. Exploring softwares really help, it was like following a map to explore places...but exciting once I got the hang of it.
Storage Matters!
One crucial lesson: storage is everything! Whether it's downloading, using, or setting up software, having enough storage makes a huge difference. A well-organized file structure helps keep things running smoothly.
Setting Up Essential Software**
To streamline installations, I used Ninitefantastic tool that installs multiple apps simultaneously without clicking 'Next' a hundred times. It's a huge time-saver, especially when setting up commonly used software.
Link to download: https://ninite.com/
I’ve downloaded some essential tools to keep our workflow smooth and efficient:
-
WinMerge – A lifesaver when you need to compare files or folders without going cross-eyed. Helps you merge changes like a pro!
-
CCleaner – Keeps your PC fresh by kicking out junk files, clearing browser gunk, and making things run smoother.
-
Visual Studio Code (VS Code) – The go-to code editor for devs! Light, powerful, and packed with cool extensions to supercharge your workflow.
-
ShareX – Screenshot and screen recording wizard! Snap, edit, and share with a click—perfect for capturing anything on your screen.
-
WinDirStat – Turns your disk space into a colorful map, making it super easy to find and delete storage hogs.
B. Generate SSH Key
What is an SSH key?
An SSH key is a secure way to connect your computer to websites like GitHub or GitLab without using a password every time.
Public key 🏠 → Stored on GitHub/GitLab. Private key 🔑 → Stays safe on your computer.
It helps you push (upload) and pull (download) code securely and easily, without typing your password again and again! 🚀
1. Setting up an SSH key allows secure authentication with GitLab without entering credentials every time. To generate an SSH key:
step 1: Open Git Bash, Command Prompt, or PowerShell.
step 2: Run the following command:
ssh-keygen -C "your.email@example.com"
"your.email@example.com" adds an identifier (your email) to the key.
step 3: Press Enter to save the key in the default location.
If prompted, enter a passphrase for added security (optional but recommended).
step 4: Copy the public key to your clipboard.
step 5: Select and copy the entire output.
2. Add SSH Key to GitLab
step 1: Log in to GitLab and go to your account settings.
step 2: Navigate to Preferences → SSH Keys.
step 3: Paste the copied SSH public key into the provided field.
step 4: Click Add Key.
step 5: To confirm the key is working, run:
ssh -T git@gitlab.com
step 6: If successful, you should see a message like:
Welcome to GitLab, @your-username!
3.Clone Your Repository to Local Machine
step 1: Copy the SSH clone URL from your GitLab repository (e.g., git@gitlab.com:your-username/your-repo.git).
step 2: Open a terminal and run:
git clone git@gitlab.com:your-username/your-repo.git
step 3: Navigate into the newly created project directory:
cd your-repo
step 4: Verify the remote is set up correctly:
git remote -v
This should display the origin linked to your GitLab repository.
C. Mk Docs: Documentation Made Easy
MkDocs is our go-to static site generator for turning Markdown files into clean, organised website. With just a few config tweaks it compiles project information which is convinient for sharing instructions.
1. Setting Up MkDocs
Install Python (from python.org). Ensure you check the "Add to PATH" option during installation. (Essential to run MkDocs!)
Install MkDocs using:
'pip install mkdocs' (Downloads and sets up MkDocs on your system!)
Create a new project:
mkdocs new my-docs 'cd my-docs' (Creates a folder for your documentation!)
Run the live preview:
'mkdocs serve' (Opens your documentation in a browser for real-time edits!)
Edit mkdocs.yml to organize navigation and themes. (Customizes the look and structure!)
Deploy with:
'mkdocs gh-deploy' (Publishes your documentation online via GitHub Pages!)
D. Install VSCode and Extensions
step 1: Download VSCode from 'ninite.com.'
step 2: Install VSCode and launch it.
step 3: Open the Extensions Marketplace and install:
Python (if working with Python projects)
Markdown All in One (for better Markdown handling, useful for MkDocs)
Remote - SSH (to work on remote projects if necessary)
E. GIT: Version Control & Collaboration
Git is a bridge to save and manage different versions of our projects.
1. Installing Git
Use Ninite to install Git hassle-free. (Quick install without manual setup!) or directly download from Google.
The 64-bit version of Git is better for Windows because it handles large repositories more efficiently, utilizing more RAM to prevent crashes and memory issues.
Check if Git is installed:
'git --version'
(Confirms installation!)
2. Setting Up Git & SSH Key
Configure Git with your credentials:
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
(Links Git to your identity!)
If you have a key to copy, you ca open in notepad and save it.
Generate an SSH key (to avoid password prompts):
ssh-keygen -"your@email.com" (Creates a secure connection to GitHub!)
Clone a repository to start working:
git clone
3. Git Workflow Basics
Pull updates before making changes:
git pull origin main (Fetches the latest changes from GitHub!)
(trial)
Stage & commit changes:
git add . git commit -m "Updated project files" (Saves your progress locally!)
Push to GitHub:
git push origin main (Uploads your changes to GitHub!)
What is Cloning? In Git, cloning is the process of creating a copy of a remote repository (like one on GitHub or GitLab) on your local machine. This allows you to work on the project, make changes, and commit them without affecting the original repository until you're ready to share your work.
Is it Important? In my experience, cloning a repository is super helpful. It gives me a full, local copy of all the project files and their entire history, including previous commits. This lets me easily make changes, keep track of my progress, and later push updates back to the remote repo. It’s definitely a smooth process that makes collaborating with others a lot more efficient.
Important things I learnt while PREPARING :
-Tracking changes is easier
-Committing and Saving changes is neccessary
-Push and Pull regularly
-Fixing conflicts in moment helps in long term
-Keeping files organised makes process easier
-Branches make work easier
F. Organising Folders
Keeping files structured saves time. (Helps find what you need instantly!) MAKES DOCUMENTATION REFINED.
Here, It was important to make sure that files/photos/videos are partitioned according to weeks, so in case if we have to edit, we know where to go. For eg. Week01, Week02, Week03...
Infact, Using meaningful names and version numbers like 'design_v1.f3d, final_render_01.png' made tracking progress easier. (No more lost files!).
G. Python & Pip Configuration
Python is essential for automation and running MkDocs. Setting it up correctly avoids errors later. (Makes coding and documentation seamless!)
1. Installing Python
Download Python from python.org. (Base requirement for MkDocs!)
2. Ensure You Can Run pip from the Command Line
Before setting things up, make sure pip (Python’s package manager) is available and working on your system.
Check if pip is Installed
Open a terminal or command prompt and run:
'py -m pip --version'
If you see a version number, you're good to go! If you installed Python via python.org, Homebrew (macOS), or from source, pip should already be available.
H. Working with Git Pull & Push in VS Code
What is Git Pull & Push?
Git is a version control system used to track changes in your project and collaborate with others.
When working with remote repositories like GitHub:
Pull → Brings latest changes from remote repository (GitHub) to your local project (VS Code).
Push → Sends your local changes from VS Code to the remote repository (GitHub).
I. Things to Keep in Mind While Pull & Push
Whenever I’m working with pull and push in VS Code, I’ve kinda learned one thing the hard way — always pull first! It just saves you from a lot of mess later. Pulling basically means you're checking if anyone else has made changes in the repo before you start adding yours. If you don’t do this, sometimes errors or conflicts pop up and trust me, it's annoying to fix. And, if by chance any conflict happens while pulling, I try to read properly and decide what changes I want to keep. Also, while committing changes, I’ve realized writing a short and clear message helps a lot — not just for others but even for future-me to understand what I did. One more thing I’ve become super careful about is checking if I’m on the correct branch before pushing. And very very important — I always double-check that I’m not accidentally pushing any personal stuff like passwords or secret files. It’s a small habit but saves you from big embarrassment later!
Command | Usage | Description |
---|---|---|
git pull | git pull | Fetch latest changes from GitHub to local VS Code |
git add | git add . | Add all modified files to staging area |
git commit | git commit -m "message" | Save your changes locally with a message |
git push | git push | Upload your committed changes to GitHub |
J. VS Code Setup — My Learning Curve Story
VS Code for the first time honestly felt like unpacking a new gadget — exciting but also a little confusing. There were so many buttons, pop-ups, and options staring at me. But slowly, step by step, things started making sense.
1. Download and install VS Code
2. Python installation Slight panic when I saw “Add to PATH” — I quickly Googled and thankfully checked that box. (Tip: Never ignore that!)
Then came the fun part — Extensions. It felt like customizing my workspace.
But the real twist came while setting up Git and GitHub. Words like push, pull, commit were flying everywhere. At first, it felt like I was filling out some secret form just to save my own work!
3. Repository on GitLab
Once I completed my project in VS Code, I wanted to make it available online through GitLab, so that anyone could view it easily like a website. The first step was to create a new repository on my GitLab account.
4. Mini-Preview
I was curious to see how my website would look. For that, I used mkdocs serve in the terminal. This showed me a local link, where I could view my project on my browser, like a mini-preview before going live.
5. Location
This was address which came. A combination of number, which is your local git repository. Here, this enable user to check commits, branches, tags.
6. Commit
Now came the part where I had to push my work online. For that, I added all my files using git add . (this means it will take everything inside my folder).
Finally, I uploaded my work to GitLab commiting staged changes, naming them, pushing it.
7. First Github Push
This was first look of Github when did First push-pehla.
8. Trial
Later, I enabled GitLab Pages — this is a feature in GitLab which gives a proper online link for your project. Once it was set, whatever changes I made in VS Code, I just had to push them again, and my live website would automatically get updated. It was fun and satisfying to see my work turning into an actual webpage that anyone could visit!
General steps I figured out:
git init → to start tracking
git add . → to select all files
git commit -m "message" → to lock your changes
git push → to send everything to GitHub
Difference between git add . and Pushing from Source Control in VS Code
Feature | git add . (Terminal) |
Source Control (VS Code) |
---|---|---|
How it works | Adds all changed files at once | Allows you to select specific files manually |
Control over files | No file selection, everything gets added | Yes, you can choose which file to stage |
Use case | Best when you want to push all changes quickly | Best when you want to push only selected or safe files |
Risk | May add unwanted or rough files by mistake | Less risk, because files are manually selected |
Visibility | Need to type git status to check |
Changes visible directly in VS Code panel |
Of course, I messed up a few times. Wrong commands, password errors, even pushing the wrong file once. But with every mistake, I learned something new. And finally, when I saw my code live on GitHub — I felt like an actual developer (even if it was just a “Hello World”).
K. Fixing PATH Issues (If Needed)
If the python command didn’t work, I had to manually add Python to my system’s environment variables. Here’s how I did it:
1.Open Control Panel > System > Advanced System Settings
2.Click Environment Variables
3.Under System Variables, find and select Path, then click Edit
4.Click New and add the path to Python’s installation folder (e.g., C:\Users\MyUser\AppData\Local\Programs\Python\Python312)
5.Also, add the Scripts folder: makefile
C:\Users\MyUser\AppData\Local\Programs\Python\Python312\Scripts\ Click OK to save changes, then restart the terminal
After this, running python --version worked perfectly
L. Valuable Discoveries
-
Understanding Digital Fabrication – Exploring different methods and how they fit various design needs.
-
Learning from Past Projects – Analyzing previous work to refine my design approach.
-
Improving Workflow & Organization – Managing files efficiently, optimizing processes, and using the right tools.
-
Building a Personal Website – Structuring content, setting up the backend, and ensuring seamless functionality.
These lessons not only helped me make better use of technology but also strengthened my organization and presentation skills, making my work more structured and effective.
M. Some key lessons learned along the way
1.Never skip the “Add to PATH” option during installation (or future me will be crying).
2.Verifying everything with --version commands is your best friend to catch issues early.
3.Testing installations with simple commands, like pip install requests or git --version, makes sure nothing’s left behind.
4.And for the love of sanity, use virtual environments to keep projects clean and organized!
5.Now, with everything finally set up, I’m ready to actually get my hands dirty with some code, commit changes, and create that sweet MkDocs documentation without any more hiccups.
It’s been a journey, but I’ve come out the other side—ready for what’s next.