Skip to content

Week1. Principles and Practices, Project Management

During the first week of Fab Academy, we were introduced to the course structure, workflow, and digital documentation process. The main focus of this stage was setting up the working environment and preparing the necessary tools for future assignments.

During this week, I installed and configured the required software: - Creating and exploring a GitLab account - nstalling Git Bash for managing the local repository - Installing Visual Studio Code for editing the website and documentation

We learned how the Git version control system works, including creating repositories, making commits, and pushing changes to GitLab. This week established the foundation for future documentation and project development, as an organized workflow is essential for successful progress during Fab Academy.

Git Setup Process

During this week, I prepared my working environment using Git Bash and GitLab to organize my documentation workflow.

Learning Resources

This week I learned how to use Git, Git Bash, and other tools through online classes, tutorials, and hands-on practice.

I followed the official Fab Academy classes, especially the documentation and version control topics, which helped me understand the workflow and requirements.

In addition to the official materials, I participated in online workshops and group meetings guided by Onik Babajanyan and Rudolf Igityan end Elen Grigoryan using the Zoom platform.

During these sessions, we not only followed the lessons but also applied what we learned in practice by working together and solving different problems.

Tools Used

Git

Git is a distributed version control system used to track changes in files and manage project history.

It allows you to: - track changes in your files - create commits (snapshots of your work) - manage different versions of a project

GitLab

GitLab is an online platform for hosting Git repositories.

It allows you to: - store your repositories online - collaborate with others - manage projects and track changes remotely

More info: https://gitlab.com/

Git Bash

Git Bash is a command-line interface (terminal) that allows you to run Git commands on your computer.

It is used to: - clone repositories - commit and push changes - interact with Git locally

Visual Studio Code

Visual Studio Code is a code editor used for programming and documentation.

It allows you to: - write and edit code or Markdown - organize files - manage projects efficiently

First Steps

First, I installed Git on my computer, which also included Git Bash.
Then I opened Git Bash and created (or navigated to) a folder called Fabacademy2026, which I use as my main working directory.

Clone Methods (SSH vs HTTPS)

GitLab provides two methods for cloning repositories:

  • SSH
  • HTTPS

Why I Did Not Use HTTPS

Although HTTPS is available, I chose not to use it.

Using HTTPS requires entering credentials (username and password or token) repeatedly when interacting with the repository.

This slows down the workflow and makes the process less efficient.


Why I Chose SSH

I used SSH authentication instead because:

  • Secure connection
  • No need to repeatedly enter credentials
  • Faster and more efficient workflow

In GitLab, I copied the SSH link to my personal repository. Using Git Bash, I navigated to the “Fabacademy2026” folder and cloned my GitLab repository into this directory. These steps created a connection between my local computer and GitLab, allowing me to make changes locally and push them to my online documentation website.

SSH Key Setup and Repository Connection

To enable secure authentication with GitLab, I generated and configured an SSH key.

First, I opened Git Bash and navigated to my working directory:

cd Documents/
cd Fabacademy2026/

Then I generated a new SSH key:

ssh-keygen -t ed25519 -C "malkhasyangevorg566@gmail.com"

This created two files:

id_ed25519 (private key)

id_ed25519.pub (public key)

I displayed and copied the public key:

cat ~/.ssh/id_ed25519.pub

After copying the key, I logged into GitLab, opened User Settings → SSH Keys, pasted the key, and added it to my account.

Activating SSH Agent and Cloning Repository

To enable secure authentication, I started the SSH agent:

eval "$(ssh-agent -s)"

Then I added my SSH key:

ssh-add ~/.ssh/id_ed25519

Next, I copied the SSH clone link from GitLab and cloned my Fab Academy repository:

git clone git@gitlab.fabcloud.org:academany/fabacademy/2026/labs/dilijan/students/gevorg-malkhasyan.git

After confirming the host connection, the repository was successfully cloned to my local machine.

Visual Studio Code Setup

After cloning the repository, I opened Visual Studio Code as my main development environment.

I selected Open Folder and opened the Fabacademy2026 directory, which contains my Fab Academy repository files such as:

  • index.html
  • about.html
  • style.css
  • assignments folder
  • images folder

Visual Studio Code provides:

  • A clean interface for HTML and CSS editing

  • Integrated terminal

  • Built-in Git integration

Git Configuration and First Commit

Inside VS Code, I opened the integrated terminal and checked the repository status:

git status

When attempting my first commit, Git requested my identity configuration. I configured it using:

git config --global user.email "malkhasyangevorg566@gmail.com"
git config --global user.name "Gevorg Malkhasyan"

Then I added and committed my changes:

git add .
git commit -m "adding year in index"

The commit was successful, preparing the project for pushing updates to GitLab.

Using Markdown

I used the Student Template MkDocs as a starting point.

I downloaded the template files and replaced the contents of my working (tracked) directory with these files.

What is Markdown?

Markdown is a simple markup language used to write structured documentation in plain text.

It can be used for:

  • headings
  • lists
  • images
  • links
  • code blocks

Advantages

  • easy to learn
  • fast to write
  • works with Git and GitLab
  • clean and readable

Limitations

  • limited design options
  • complex layouts need HTML/CSS

Conclusion

This week was my first experience in Fab Academy, where everything was new and quite challenging, especially understanding Git.

Despite the initial confusion and mistakes, with the support of our instructor I gradually began to understand the workflow and move forward with more confidence.

This experience also showed me how important it is not only to complete the work, but also to document and present it properly.