Setting up the documentation environment and version control.
This project is part of my Fab Academy journey. The primary potential users and target audience for my final project and documentation are:
To manage my code and document my progress, I use Git (a distributed version control system) and GitLab (a web-based platform for Git repositories).
Since I am using Windows, I installed Git Bash to use terminal commands. To securely connect my computer to GitLab, I had to set up SSH Keys:
ssh-keygen -t ed25519 -C "Leila.Biglari@student.oulu.fi"I cloned my repository using: git clone git@gitlab.fabcloud.org:academany/fabacademy/2026/labs/lbiglari25/students//lbiglari25.git
Figure 1: My GitLab file structure in the public directory.
My daily workflow involves: git status, git add ., git commit -m "message", and git push to update my site.
Building this website was a journey of learning HTML, CSS, and automated deployment from scratch.
I initiated the project by selecting a template from Start Bootstrap, specifically the Bare (Starter Layout). I chose this minimal boilerplate to allow for maximum customization while keeping the code clean. All base HTML5 elements were implemented following the MDN Web Docs HTML Reference.
Figure 2: Initial state using the Bare template.
I performed significant refactoring to improve both structure and style:
global-style.css to build a modern, dark-themed navigation bar using Flexbox.HTML Refactoring Snippet:
<nav class="custom-nav">
<div class="nav-container">
<ul class="nav-links">
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
</ul>
</div>
</nav>
CSS Flexbox Implementation:
.custom-nav {
background-color: #2c3e50;
padding: 15px 0;
}
.nav-container {
display: flex;
justify-content: space-between;
align-items: center;
}
Figure 3: Step-by-step code modifications and GitLab commits.
I utilized Gemini AI as a supportive tool for troubleshooting and optimizing the layout logic. The following prompts were used:
Every time I push my code, GitLab uses .gitlab-ci.yml to run an automated job. This CI/CD pipeline ensures my live site is always synced with my latest changes on GitLab Pages.
As a complete beginner, the main hurdles included managing Relative Paths for the Navbar across different directories and resolving Image Path Errors caused by case-sensitivity on the Linux-based GitLab server.
Figure 4: Overcoming the 404 error by fixing file naming conventions.
My final project goal is to build a Smart Pillbox. This device aims to help seniors and patients stay on track with their medication. This week, I defined the scope and used Inkscape to create the initial sketches.
As part of my research, I explored similar open-source healthcare projects in the Fab Academy archive, such as the work of Alana Duffy, to learn from their design and technical implementation.
The Fab Lab project has provided me with a unique opportunity to challenge myself. While there is still so much to learn, I am committed to improving my skills and evolving as a maker and a coder throughout this journey.