Skip to content

Week 01 — Project Management

Focus this week

This week I set up my Fab Academy documentation website and organized the repository structure to make weekly updates easy and consistent.


Tools used

  • Git + GitLab
  • MkDocs
  • MkDocs Material theme
  • VS Code
  • Windows PowerShell / Terminal

Initial setup and workflow decision

At First, I started by testing the GitLab Web IDE directly in the browser.
I wanted to understand how the repository works and how changes affect the live website before setting up a full local workflow.

Moving from Web IDE to Local Development

After testing the GitLab Web IDE and confirming that the pipeline works correctly, I decided to switch to a local workflow for better control and efficiency.

Editing directly in the browser is useful for quick tests, but for long-term development and structured documentation, working locally is much more practical.

Step 1 — Installing Git and Creating Local Repository

Before starting local development, I first prepared my system by installing Git and create local repository.

Step 2 — Generating SSH Key and Connecting to GitLab

After creating the local repository, I needed to establish a secure connection between my computer and GitLab.
For this purpose, I configured SSH authentication.

Using SSH allows secure communication with GitLab and avoids entering credentials each time I push changes.


Generating SSH Key

I generated a new SSH key using the following command:

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

This command created:

  • A private key stored locally
  • A public key used for authentication

The public key was saved in:

~/.ssh/id_ed25519.pub


Adding SSH Key to GitLab

After generating the key, I added it to my GitLab account:

Testing SSH Connection

To confirm that everything was configured correctly, I tested the connection:

ssh -T git@gitlab.com

A successful authentication message confirmed that the SSH connection was working properly.

Step 3 — Cloning the Repository via SSH

After configuring SSH authentication, I cloned the repository from GitLab using the SSH URL.

git clone git@gitlab.com:username/repository.git

This downloaded the project locally and connected it to the remote repository.

Now I could:

  • Edit files locally
  • Track changes with Git
  • Push updates securely to GitLab

Step 4 — Working in VS Code, Testing and Pushing Changes

After cloning the repository, I opened the entire project folder in VS Code and continued working locally.

Using VS Code allowed me to:

  • Edit Markdown files
  • Modify mkdocs.yml
  • Organize folders and images
  • Use built-in Git tools
  • Manage project structure efficiently

From this point forward, all changes were made locally and then pushed to GitLab.

Local Testing with MkDocs

Before pushing any changes, I tested the website locally using:

python -m mkdocs serve

This command starts a local server and allows previewing the website at:

http://127.0.0.1:8000/

Local testing helped detect:

  • Navigation errors
  • Broken links
  • Image path issues
  • Markdown formatting problems

Committing and Pushing Changes

After verifying everything locally, I pushed the changes to GitLab using Git commands.

First, I added all modified files:

git add .

Then, I created a commit:

git commit -m "Week 01 updates"

Finally, I pushed the changes to the remote repository:

git push

After pushing:

  • GitLab CI automatically started the pipeline
  • The project was rebuilt
  • The website was updated online

Image Optimization Workflow

To keep the website lightweight, I used a VS Code extension to compress images and convert them to WebP format.