1. Principles & Practices and Project Management¶
In the first week, we had our first session for the Fab Academy 2025, and I was feeling excited and nervous. The session began with Professor Neil showing us the Fab Academy theme song video. One key takeaway from the video was the importance of documenting how it is being done. We also got a brief introduction to the Fab Labs, digital fabrication, and how Fab Labs are growing worldwide.
Task to do for the week:
- Work through the git tutorial
- Make a personal website and explain how you did it
- Sign and upload the student agrement
- Skecth the final Project idea and function.
Getting started with Git¶
What is Git?¶
As per the google, Git stands for Gobal Information Tracker and it was created by Linus Torvald. Git is the distributed version control system that tracks version of files. It enables collaboration,tracks changes and facilitates the coordination.
The first thing that I did after Neil’s Lecture was go through the Git tutorial to understand the basic git syntax and command. Also refers to some of the past fab academy students’ websites and it was really helpful to understand how git works. This was a pretty cool website to learn how git works for beginners like me.
Git Simple cheat sheet from fab academy website.
Setting up the Git¶
- Download and install the Git
-
Run Installer
-
To verify the Git installed version
- Configure the git
To Configure the Git
-
Type your user name and press enter
git config--global user.name "birmaya-rai"
-
Type your user email and press enter
git config--global user.name "birmrai@dhi.bt"
-
Check if you have SSH key,
cat~/.ssh/id_rsa.pub
-
To generate new SSH key,
ssh-keygen -t rsa -b 4096 -C "birmrai@dhi.bt" (since i have already generate SSH key,i am going to skip this step)
-
To view your public key:
cat ~/.ssh/id_rsa.pub
-
Copy your key ( id_ rsa.pub 3)
-
Go to git and add the key
My new key is created and added to git
Clone the repository: From Cloud to local server¶
- Copy the respository code or clone that you want to clone the repository.
- You can either select SSH Key or the HTTP key for cloning.
- Open terminal or Git Bash
- Use the cd command to moved the to the folder you want to clone your repository.
- Use the git clone command followed by repository URL
- After cloning, Git creates a folder with the same name as in repository.
While cloning the repository, I encountered an error where I was not able to pull the repository. Then I did the whole thing again by copying the SSH key and pasting it into my git bash terminal.
Finally it work👏!
Basic Command of Git¶
- git status- Check the status of your repository.
- git add .- Add the files to staging area.
- git commit -m”your commit meaasge”- to commit the changes.
- git push- to push changes from remote to cloud repository.
- git pull - to pull changes from cloud to local repository.
Website design¶
To document our assignment and final project we need to create a website. For this, we are given an HTML template to create a website. Since I am more comfortable using markdown over HTML, and will be using markdown for my Fab Academy documentation and final projects.
I downloaded the fab template from Julian’s Studnet Template MKdocs to create my entire website. I deleted all the HTML and .ylm files which are created by fab academy coordination, and replaced them with Julain’s Template. The first thing you need to do to make your website live is to make an edit to the mkdocs.ylm files in the root of your GitLab account. I changed the site name and descrption as shown in the picture below, this activates my website.
What is markdown?¶
As per the google markdown is a lightweight markup langauage that you can ust to create and add formatting elements to plaintext text document. Created by John Gruber in 2004,Markdown is now one of the world’s most popular markup languages.
I went through the following links to understand Markdown syntax:
Here is how i created Markdown documents in Visual Studio Code¶
Because of its user-friendly interface, I am going to use VS code to edit the files, manage them, and push them to the cloud repository.
-
Download the VS code
-
Install VS code. I am going to skip this step since my laptop is already installed with the VS code
-
Install Markdown all in one
This image shows how its looks in VS code
-
Create a new markdown file by opening the VS code and save the file by extension .md (eg. Index.md)
-
Edit your file in markdown content in the editor.(I am editing the file index.md because it is the first file a web browser looks at when opening a website)
-
Open preview to check the markdown content
this image show how it will look after clicking on the preview option
- Ctrl+S to save your work.
ℹ️ Note: Alway Press Ctrl+S to save your works regualrly
Git Lens workflow
- Open the project folder in the VS code (I am goin to open fabacademy folder)
- Open the file that you want to make the changes (I am goin to open my index.md file because i want to make changes in my homepage)
- Click Source option 1(this will display your pending changes)
-
Click on the stage changes 2( Git adds them to the staging area, which is a “holding area” for changes before they are committed to the repository).
-
Type your Commit message 3
-
Finally, to update your changes, select the commit and push option to push your changes to the cloud 4
My first edited website look:
The homepage photo was not able to be viewed because the photo was in PNG, later my instructor Tshering advised me to use jpeg
extension while uploading the photo.
After changing the extension, this is how my homepage look.
My Final Project ideas:¶
I have listed some of my final project ideas below:
Intelligent cabinet¶
I want to make Intelligent cabinet for my lab. Although intelligent cabinets are available in the market,however we do not have one in our lab. The cabinet we use relies on a manual lock system, which poses challenges such as managing the key and occasionally losing it. This often results in the loss of materials. I see this as an opportunity to create a intelligent cabinet for the lab, turning it into a valuable learning experience
I am going to use RFID technology to scan the tag and indentify whether a user is authorized to unlock the cabinet, if it recoginzes the user a green led will blink giving access and similarly a red led will blink if it is unauthorized user, denying the access.
- RFID tag/cards will be used as Input
- Buzzer and Led will used as output
- Using RFID cabinet will enhances the security
- Improve the inventory management
Refreshner Vessel (Dri-Zhim Bumpa)¶
This project is inspired by the traditional Bhutanese eight lucky signs the concept of the Bumpa,. In Bhutanese terms, Dri-Zhim, meaning “pleasant odor,” and Bumpa, meaning “vessel.” Traditionally, the Bumpa is used to store holy water for religious ceremonies, symbolizing purity and positivity.
The main aim of this project is to create an automatic freshner that will incorporate sensors to detects the smells from the room and triggering to relase the freshner. It not only keeps the room smelling pleasant but also celebrates Bhutanese tradition in a meaningful way.
-
Smell will be the input
-
Air freshner will before my output
-
Automated Odor Detection
-
Can be used as home decor
Discalimer: I use chatgpt to refined my grammatrical structure.