Industrial FABLAB UCuenca

Week 1 – Project Management

Fab Academy Initial Planning and Documentation

Git Workflow – Process Understanding

The Git workflow is not only a sequence of commands, but a structured process that manages how changes are tracked and stored. The workflow used in this project is:

git add .
git commit -m "Weekly progress update"
git push
    

This workflow ensures traceability, version control, and the possibility of reverting errors during development.

Repository Creation – Step by Step Workflow

1. Install Git

As a first step, I installed Git, which is the tool that allows me to manage versions of my project. I understand that Git is essential because it keeps a record of all changes and allows me to go back if something goes wrong.

git --version

This step is important because it ensures that I have the environment ready to start tracking my work.

2. Create GitLab Account and Repository

I created a GitLab account to store my project online. I understand that this remote repository works as a backup and also allows my work to be publicly accessible.

This step is important because it defines where my project will be stored and shared.

3. Initialize Local Repository

I initialized my project using Git. This means I converted my folder into a version-controlled environment.

git init

I understand that this creates a hidden .git folder that stores all the history of changes in my project.

4. Configure User Identity

I configured my name and email so that every change I make is identified.

git config --global user.name "Your Name"
git config --global user.email "your@email.com"
  

This step is important because it allows tracking who made each change in the repository.

5. Add Files (Staging Area)

I added my project files to the staging area. I understand that this step prepares the files before saving them permanently.

git add .

The staging area gives me control over what changes I want to include in the next version.

6. First Commit (Save Version)

I created my first commit, which represents the first saved version of my project.

git commit -m "Initial commit"

I understand that each commit is like a checkpoint that allows me to track progress and return to previous states if needed.

7. Connect to Remote Repository

I connected my local project to GitLab. This allows me to synchronize my work between my computer and the cloud.

git remote add origin https://gitlab.com/username/repository.git

This step is important because it establishes communication between local and remote environments.

8. Push (Upload Project)

I uploaded my project to GitLab. This makes my work available online.

git push -u origin main

I understand that this step synchronizes my local work with the remote repository.

9. Website Deployment

I verified that my website is published correctly using GitLab Pages.

https://fabacademy.org/2026/labs/zoi/students/rodrigo-guaman/index.html
  

9.1 Website Creation

Process Description and Tools Used

The development of my Fab Academy website followed a structured workflow that integrates design, coding, version control, and deployment. The website includes weekly assignments, final project documentation, and personal information organized in separate HTML files.

For coding, I used Visual Studio Code as my main editor, which allowed efficient file management, syntax highlighting, and real-time visualization using browser previews.

The structure was developed using HTML, while the visual design was implemented with CSS, using reusable components such as cards, sections, and navigation menus.

All media files were organized into structured folders (e.g., images/, archive/) to maintain a clean and functional repository.

Version control and publishing were managed using Git and GitLab, allowing continuous updates and safe storage of the project.

Workflow Explanation

The development process follows an iterative workflow:

  1. Content Planning: Define weekly documentation, images, and files.
  2. Local Development: Write and organize HTML and CSS files.
  3. Testing: Visualize the website in a browser and verify functionality.
  4. Version Control: Track changes using Git commands.
  5. Publishing: Upload the website to GitLab and Fab Academy server.
  6. Iteration: Review and continuously improve the content.
git add .
git commit -m "update website"
git push
    

Graphical Workflow

Simple Flow:

Planning → Coding → Testing → Git Commit → Git Push → Online Website → Review → Repeat
    

Detailed Flow:

[Idea / Content]
        ↓
[HTML & CSS Development]
        ↓
[Local Testing]
        ↓
[Git Add / Commit]
        ↓
[Git Push to GitLab]
        ↓
[Deployment (Fab Server)]
        ↓
[Online Review]
        ↓
[Improvements]
        ↺
    

Reflection (Student Understanding)

Through this process, I understood that creating a website is not only about writing code, but also about organizing information and maintaining a clear workflow.

Git allows me to track every change, while GitLab ensures that my work is safely stored and published online. This workflow helped me develop a structured approach: design → test → document → publish.

This step is important because it confirms that my documentation is accessible online.

10. Weekly Workflow (My Learning Process)

Every week, I repeat the same workflow to document my progress. This helps me maintain an organized and updated repository.

  • Update files (HTML, images, documentation)
  • Add changes to staging area
  • Commit with meaningful message
  • Push updates to GitLab
git add .
git commit -m "Week XX progress"
git push
  

I understand that this iterative process is essential for Fab Academy, as it demonstrates continuous work and proper documentation practices.

11. My Understanding of Git Workflow

From this process, I understand that Git works in four main stages:

  • Edit files → Working Directory
  • Select changes → Staging Area
  • Save version → Commit
  • Upload → Remote Repository

This workflow allows me to manage my project in a structured way, ensuring that every change is documented and recoverable.

Difficulties Encountered and How I Solved Them

During the process of setting up and using GitLab, I encountered several difficulties. These challenges helped me better understand how Git works and how to troubleshoot common issues.

  • Problem: Incorrect repository link
    What happened: The GitLab link included in my website did not redirect to the correct repository or content.
    Solution: I verified the repository URL directly in GitLab and updated the link in my HTML files.
    What I learned: It is important to always validate links and ensure they match the actual repository structure.

  • Problem: Changes not appearing after push
    What happened: After making changes and pushing, the updates were not visible in the repository.
    Solution: I used git status to check if files were correctly added and committed before pushing.
    What I learned: I understood the importance of the staging area and that changes must go through add → commit → push.

  • Problem: Authentication error when pushing to GitLab
    What happened: GitLab rejected my credentials when trying to push.
    Solution: I generated a Personal Access Token and used it instead of my password.
    What I learned: Modern GitLab authentication requires secure tokens instead of passwords.

  • Problem: Overwriting or losing changes
    What happened: I modified files and lost previous versions.
    Solution: I started committing more frequently and using clear messages.
    What I learned: Commits act as checkpoints, allowing recovery of previous states.

  • Problem: Confusion about Git workflow
    What happened: At the beginning, I did not clearly understand the difference between add, commit, and push.
    Solution: I practiced the workflow multiple times and analyzed each step.
    What I learned: Git follows a structured flow: working directory → staging area → local repository → remote repository.

Overall, these difficulties helped me move from just using Git commands to actually understanding how version control works.

Final Project Review – Evaluation Criteria

Project Title

Development of Didactic Prototypes for Engineering Learning Using a STEM and Design Thinking Approach.

Project Description

The final project aims to design and fabricate educational prototypes integrating digital fabrication, embedded electronics, programming, and mechanical design to enhance engineering learning. Sketch: Arduino Download Page

Digital Fabrication Processes Involved

  • 3D Printing (FDM)
  • Laser Cutting
  • CNC Machining (if required)

Electronics Integration

  • Microcontroller-based control system
  • Custom PCB design
  • Sensors and actuators integration

Programming and Control

  • Embedded programming (C/C++)
  • Serial communication
  • Possible wireless communication (WiFi/BLE)

Innovation and Impact

The project promotes active learning, critical thinking, and hands-on experimentation, contributing to innovative educational methodologies in engineering.

Arduino Download Page Arduino Download Page Arduino Download Page

Feasibility Analysis

Aspect Status
Technical Feasibility Validated
Fabrication Feasibility Validated
Time Planning On Schedule
Material Availability Available
  • More details – Project Management
  • Fab Academy Student Agreement
    Fab Academy Student Agreement The Fab Academy is responsible for teaching principles and practices of digital fabrication, arranging lectures, recitations, meetings, and events for the class, evaluating and providing feedback on student work, offering clear standards for completing assignments, certifying and archiving student progress, supervising class preparation, reviewing prospective students, instructors, and labs, providing central staff and infrastructure for students, instructors, and labs, fund-raising for costs not covered by student tuition, managing and reporting on the program's finances, results, and impacts, publicizing the program, promoting a respectful environment free of harassment and discrimination, and encouraging a diverse, accessible, and equitable community. I am a Fab Academy student, responsible for attending class lectures and participating in reviews, developing and documenting projects assigned to introduce and demonstrate skills, in enough detail to be able to reproduce them, honestly reporting on my work and appropriately attributing the work of others (both human and machine, including AI prompts), being prepared to answer questions about my work, allowing the Fab Academy to share my work (with attribution) in the class for purposes compatible with its mission, working safely, leaving workspaces in the same (or better) condition than I found them, participating in the upkeep of my lab, ensuring that my tuition for local and central class costs is covered, following locally applicable health and safety guidance, recognizing limits on lab and staff time, and promoting a respectful environment free of harassment and discrimination. Signed by committing this file in my repository. Rodrigo Guamán

    Final Checklist – Week 01

    Requirement Status Evidence
    Final project idea described ✔ Completed Final Project Review Section
    Sketch uploaded ✔ Completed Project Documentation
    Website created ✔ Completed HTML Structure
    Git repository configured ✔ Completed Repository Section
    Version control demonstrated ✔ Completed Commit History
    Final project feasibility reviewed ✔ Completed Evaluation Criteria Table