Week 1. Project Management, Principle and Practices
Overview
Week 1 focused on two key areas:
- Principles and Practices – defining and sketching my final project idea
- Project Management – setting up tools for web design and version control
This week laid the foundation for documenting my work throughout Fab Academy.
Principles and Practices – defining and sketching my final project idea
Final Project Selection
Fab Academy Project Criteria
To select a suitable topic for the Fab Academy final project, the following core criteria must be met:
- The project must include at least one input and one output
- It should involve both hardware and a mechanical component
- Preference is given to projects with movement controlled by electronics
- The project should utilize multiple Fab Lab tools and machines during fabrication
- All designs, code, and documentation must be open source and shared with the community
Initial Project Ideas
Based on these guidelines, I proposed four project ideas to the instructors. After discussions and feedback, we shortlisted the most feasible and impactful concepts. Below are the key ideas I explored:
Smart Glasses for Gaze-Based Object Identification
This concept involves designing smart glasses equipped with two cameras:
- One camera facing the eye to track eyeball movement
- Another camera facing forward to capture the user’s field of view
By combining eye-tracking data with computer vision from the front camera, the system would identify, in real time, the object or direction the user is looking at. This concept explores human–computer interaction and wearable sensing.
“Follow-Me” Travel Bag / Robotic Vehicle
The idea is to build an autonomous follow-me travel bag or a small robotic vehicle that dynamically follows the user.
Key behaviors include:
- Smooth and agile movement
- Rapid speed increase when the user runs
- Immediate stopping and direction change when the user suddenly stops or turns
This project focuses on motion control, sensor fusion, and real-time responsiveness.
Vehicle-Based Road Pothole Detection System
This concept proposes a device mounted on a vehicle that:
- Detects road potholes based on sudden vertical acceleration (jerks) using an IMU
- Logs GPS coordinates (latitude and longitude)
- Sends data to the cloud to geo-tag potholes on a map
The collected data could help city authorities prioritize road maintenance and improve road safety.
Computational Navratri Attire with NeoPixels
This project blends traditional Indian hand embroidery with modern electronics to create responsive, illuminated Garba attire.
Key elements include:
- Traditional Rabari, Kutchi, and Kashmiri embroidery
- Sewable NeoPixel RGB LEDs
- Microcontroller-based control
- Sensors for motion and sound
- Bluetooth connectivity for smartphone-based control
The attire responds dynamically to movement and music, creating a visually engaging and culturally rooted wearable technology.
Project Management – setting up tools for web design and version control
1. Setting Up the Development Environment
Visual Studio Code (VS Code)
We began by installing Visual Studio Code, which will be my primary code editor for creating and maintaining HTML and CSS files for my personal Fab Academy website.
VS Code provides a lightweight yet powerful environment for web development. VS Code was already installed on my laptop. Installation guide
VS Code Extensions
Extensions enhance the functionality of the IDE (Integrated Development Environment).
Live Server
The Live Server extension allows real-time preview of HTML pages in the browser. Any change made in the code is instantly reflected in the browser.
Steps to install:Open VS Code -> Go to View → Extensions -> Search for Live Server -> Install the extension
Save Typing
This extension automatically saves files while typing, reducing the risk of losing work due to crashes or accidental closure.
2. Website Structure and HTML Basics
We downloaded the Fab Academy website template (ZIP file) and opened it in VS Code. The folder structure is as follows:
- index.html - Homepage
- about.html - About Me page
- final-project.html - Final project documentation
- students.md - Student agreement file
- assignments/ – Weekly documentation files
- week1.html
- week2.html
- images/ – Image assets
- Subfolders created per week for better organization
- style.css - CSS stylesheet controlling the website layout and design
This structure helps keep documentation organized and scalable.
Editing HTML Pages
As a beginner in HTML and CSS, I used W3Schools, Guidance from the instructor, and support from peers.
I started editing:
- about.html to add personal information
- index.html to understand navigation menus and page linking
To add images: Images are first placed inside the images/ folder (with week-wise subfolders) and Then referenced correctly in the HTML file.
Seeing my photo appear on a live webpage for the first time was a “wow” moment! 😀
3. Version Control with Git and GitLab
What is Git?
Git is a free and open-source distributed version control system that tracks changes in files and allows reverting to previous versions when needed.Installation guide
Git vs GitLab
- Git → Version control tool
- GitLab / GitHub / Bitbucket → Platforms that host Git repositories remotely
GitLab also provides code collaboration, issue tracking, secure repository management, CI/CD tools
A repository = project files + version history.
4. SSH Key Setup for GitLab
To securely connect my local system to GitLab, we used SSH authentication.
Steps followed : Open Git Bash -> Generate SSH key (public + private key) -> Copy public key -> Add it to GitLab -> Profile -> Preferences -> SSH Keys
Command :-
cat ~/.ssh/id_ed25519.pub | clip
Verifying Repository Access
Once configured - Opening Git Bash inside the project folder shows "main", this confirms Git is tracking the repository
5. Configuring Git Identity
Git needs to know who is making changes to the repository.
We configured : Username and Email address
6. Git Workflow: Add, Commit, Push
First we downloaded the student agreement for the Fab Academy 2026 Documents then pasted the "student.md" file into the public folder so that it will appear in the VSCode, Now we opened it inside the VSCode and entered our name and saved.
Now to add, commit and push this change to our repository, we used below commands. The standard Git workflow used:
Add command puts changes on temporary memory and stages all changes
git add .
Commit command records changes with a description or history comment, in my case, I committed updates such as adding the student agreement file.
git commit -m "comment"
Push command uploads changes to GitLab repository
git push