Skip to content

2.Principles and practices, Project management

This week I worked on defining my final project idea and getting used to the documentation process using GitLab and MkDocs.

Project managment

Summary

When I opened my GitLab repository, I saw the structure of my website. Before that, I didn’t have any experience with GitLab or website development, but I wanted to gain hands-on experience in building websites and using GitLab. I believe I can create a good website — I plan to use HTML and MkDocs with Python 3, and I’ll develop it in Visual Studio Code.

Connecting a GitLab repository with my VS Code.

I thought it through and decided the best way to connect my repository in VS Code is via an SSH key. It’s password-free and hassle-free: add the key once, and after that you can git push without entering logins or tokens. It’s also safer than HTTPS + PAT, because your private key never leaves your machine (unlike a PAT, which is sent with every request).

I generated an SSH key and used it to connect to GitLab.

Clone the Repository

Next, go to the gitlab.fabcloud.org repository > copy Clone with SSH

After setting up the SSH connection, I cloned my project from GitLab using:

git clone git@gitlab.fabcloud.org:your-repository.git 

Install MkDocs and running site locally

MkDocs is a static site generator for Python that takes Markdown (.md) files and builds a website in HTML/CSS/JS—great for project documentation. I’m using MkDocs because it’s a simple, lightweight solution. I had no prior experience building websites, so I installed it on my machine with Python, and I’m running it with Python 3.10.

 pip3 install mkdocs 

I tried running my site locally with MkDocs—it’s very convenient. As soon as I write or edit a page, I can see the result immediately.

mkdocs serve

My first commit

I added mkdocs.yml to the project root, then made my first commit and push. After that, I verified the config, updated my Markdown pages, and confirmed the site builds correctly with MkDocs locally.

Created a section about yourself on that website

I added an “About Me” page to the site where I wrote about my background and interests, and I also included a photo. Along the way, I learned how to write pages in Markdown and embed images. It was an interesting challenge and a great learning experience. I’ll keep improving the site.

List of resources

The top Mkdocs themes

Use the Google search bar on the course directory page

A previous student's Mkdocs process

Final project idea

I’ve been involved in robotics for eight years, starting back in school. Over this time I’ve worked with a range of microcontrollers—from Arduino to STM32—which gave me solid, hands-on experience. For my final project, I’m building a fully autonomous delivery robot based on ROS 2 and a Jetson single-board computer. I plan to 3D-print the chassis, finish it (paint, polish, etc.), and keep iterating on the design. I’m also learning to design my own PCBs, which is giving me valuable practical skills for a future career as an embedded engineer. The robot will operate inside Yessenov Technopark and deliver items autonomously. I’m developing it week by week, and by the end of Fab Academy I aim to show a working prototype—then continue improving it afterward.