Principles and Practices, Project management¶
This week i worked on my website. Let’s see what i have done
Research¶
I used FabAcademy 2022 students website (Onik Babajanyan), who is also big friend of mine.
I strongly recommend you using his documentations.
Version Control¶
FabAcademy is using Git to manage students works. Git is very good tool to have control on your projects, it gives you opportunity to view what, who and when have made changes, and to see how anybody else in FabAcademy have done projects. To know more about version control and Git you can go here
Get Started¶
For first, let’s download GIT software from it’s official website
Then create New Folder somewhere on your PC (i created it on Desktop) thats will be your website folder
Then right click on your mouse andselect Git Bash here
Git Bash and SSH-KEY¶
configure your git by following this steps (you can see Onik’s documentation for more information)
git config --global user.name “YOUR_USERNAME”
git config --global user.email “your email”
ssh-keygen -t rsa -C "$your email"
Then you must get you ssh key. You must use this command
cat ~/.ssh/id_rsa.pub
Copy your ssh key and paste it in your GitLab page in SSH-KEY, and click “Add Key”
Go to your project page and click Clone–>Clone with SSH and kopy that
Then go back to your GitBAsh opened in folder and write
git clone (and paste copied link, without scopes)
Congratulations, your website is in your folder.
Editing files and adding them on your website¶
Download “Visual Studio Code” from its official website
After opening your website folder files ending with .md (markdown) with Visual Studio Code , you will see MarkDown interface.
It is very easy to use, but you can use its own documentation if you’ll face some difficulties))
Every time you’ll change some files, you must “PUSH” them to your website
follow the steps
- Click GitBash in your website folder
- Write “git status” this command will show you status of your “communication” with server
- If you will see red lines after last command, don’t be afraid. It’s all changes you have done. Write “git add .” to add that changes, be careful writing this command, there is space between add and dot.
- write “git commit -m “NAME OF CHANGE” ” Write your name of change, and it’s very important that name must fully describe what change you’ve done, also name must be written in ” quotation marks. “
- Then write “git push”
Open your GitLab Project Page and you’ll see
Wait until Blue clock becomes Green Approved Sign
That’s all, your website changed :)
I am using MarkDown and MKDocs template
I tried to use HTML, but it takes much more time than MarkDown.
Let’s change our website colors, logo and font to customize my website.
We need to open “mkdocs.yml” file in Visual Studio Code
I found some logos at Font Awesome Website
As I play guitar, i decided to put guitar logo, after downloading it and putting in our “images” folder we can select it
after that, you can open the file for week you work from “assignments” folder and work on it
Updating Agreement¶
As student agreement text have changed a little bit, I need to update it.
Firstly I go to Fabacademy Website where i can find up-to-date agreement text, copy it
then i go to my files, and paste it in my agreement file in website folder.
2025¶
I started this week by updating my ssh keys, bacause they were expired. I used my own documentation to remember every tool and method I used for setting up my website, and also remembering git tools.
As I want this page to stay “tutorial” for setting up FabAcademy website, I don’t want to separate my 2023 and 2025 experiences. I will write here what and how I updated.
I put code examples into Code Blocks, using this type of writing
```
code example
```
Final Project¶
Also I changed my Final Project Idea.
I want to solve problem which occures in many FabLabs. It PCB cutting using Roland SRM-20.
I want to make Vacuum table and auto leveling system for it.
Like that.
and this
Conclusion¶
Git is a powerful tool that allows you to track the evolution of your own and others’ projects. It is an essential part of the FAB network and a valuable skill to master.