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¶
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.