Skip to content

Week 01 - Principles and Practices, Project Management

Assignment

Project managment

My operating system

I use Windows 10 because it offers strong hardware compatibility, stable system performance, and broad support for engineering, programming, and CAD software. It provides reliable driver integration, efficient multitasking, and compatibility with development environments such as Arduino IDE, Python, and embedded systems tools.

GitLab + VS Code

After creating my remote repository on GitLab, I cloned it to my local machine to start working on the website locally.

I used the following command:

PS C:\Users\Asus> git clone git@gitlab.fabcloud.org:academany/fabacademy/2026/labs/yufablab/students/asset-uzbekov.git

Then I entered the project directory:

cd asset-uzbekov

After cloning, I verified the repository structure using:

ls

This allowed me to confirm that the repository contained the initial files such as README.md, mkdocs.yml, and the docs/ directory.

Cloning the repository enabled me to work locally, edit Markdown files, manage version control properly, and push updates to the remote server. When everything synchronized correctly and the website deployed without errors, I felt very motivated to continue developing my documentation.

First commit

For my first commit, I initialized the Git repository and prepared the MkDocs website structure. I created the necessary folders and Markdown files for documentation. Then I added the files to Git and made my first commit.

I used the following commands:

git init
git add .
git status
git commit -m "Initial commit - Fab Academy website setup"
git branch -M main
git remote add origin <repository-link>
git push -u origin main

After pushing the project to the repository, I checked the deployment process. When the website successfully built and did not crash, I was very happy. It was an important moment for me because it confirmed that my configuration, Git workflow, and MkDocs setup were working correctly.

This commit marks the starting point of my Fab Academy documentation journey.

Mkdocs setup

I set up my project website using MkDocs to organize my Fab Academy documentation in a clear and structured way. The project was migrated to a static documentation format, where the content is divided into logical sections such as About, Projects, Electronics, and Fabrication. This structure helps present technical work in a more organized and professional manner.

I also modified the mkdocs.yml configuration file by creating a custom navigation menu, adding plugins to enhance Markdown rendering, and optimizing the build process for faster page loading.

This structure allows me to easily add new Fab Academy materials in the future while keeping the engineering portfolio clean and well organized.

I installed MkDocs in a Python 3.10 environment to build and manage my documentation site. The installation allows me to generate and serve static pages for my Fab Academy portfolio using Markdown-based content. This setup ensures compatibility with my development environment and supports further customization of the website.

pip install --upgrade pip
pip install mkdocs
pip install mkdocs-material

This is what the structure of my website looks like.

Problem and Solution

In short, I encountered a problem when I wrote the yml file for MkDocs. I made a mistake in the configuration and pushed the changes to the repository, which caused an error in GitLab. I consulted my instructor, and we resolved the issue by fixing the yml file. This experience helped me better understand MkDocs configuration and improved my version control and debugging skills.

Conclusion

In this week, I learned the basics of project documentation management using MkDocs and Git version control. Setting up my website structure helped me organize my Fab Academy portfolio in a clear and professional way. I also gained practical experience working with GitLab by cloning repositories, making commits, and pushing updates.

During the process, I faced a configuration problem with the yml file, but solving it with my instructor helped me better understand MkDocs settings and debugging workflows. Overall, this week was a valuable introduction to managing technical documentation and maintaining a structured engineering project portfolio.