1. Project management

This week I worked on searching and thinking my final project idea and started to getting used to the documentation process.

Research

Where did I start?

I have to say that I have no idea how to start in all this from the fab academy repository, I can barely manage my computer. I started stressed about this, I really get to confuse some things. Well, I have never programmed per se, I felt and still feel nervous. Thanks to the class given between Rafael Pérez and Oliver Ochoa, where they manage to break down the use of the repository, the programming of a web page to be able to start, and how to upload it (in addition to some inconveniences that one could face), I managed to guide myself to the web page.

Then start with 3 programs.
  • Gitbash ( adding my local files to the repository)
  • Vs code (used as a tool for editing my website, documentation, etc.)
  • Gitlab (version control center)
  • But... What is Git?

    Git is version control software.

    but what does it means? Git is a version control system that allows multiple people to work on the same project. It was created by Linus Torvalds in 2005 to manage the development of the Linux kernel (the kernel is the software that serves as a bridge between the hardware and the rest of the operating system's functions), after the BitKeeper system (discontinued version control system) was no longer free for the Linux community.

    Git main features:

      Distributed: Each person within the repository has a complete copy of it, and does not depend on a central server to work at all.
      Fast and efficient: Use techniques such as packet storage and hashing to optimize performance.
      Branching and merging: Allows you to create alternative branches to work on new features without affecting the main code and merge them when they are ready.

    features

    features type model property CI/CD segurity
    Git Version Control System Code Distributed Open Source (Linux Foundation) Does not have Depends on the user
    Github Hosting Platform Cloud-based Property of Microsoft integrated Depends on external tools Advanced security options
    GitLab Hosting Platform and DevOps Self-hosted or cloud-based Open Source and private company Integrated Advanced security in self-hosted

    (CI/CD is a software development practice enabled by automation. Frequent, reliable updates accelerate release cycles through continuous code delivery).

    Website design

    During the class each student was given a website pre-designed by the fab academy, however Rafael Pérez offered us a template for whoever wanted (one more aesthetic visually but in my opinion more complex in programming). So I opted to take that last template offered. Two ways to start a repository in Git: with git init or by cloning an existing repository. Important commands in Terminal: cd, mkdir, and git status. Steps to add and upload files to GitLab: git add., git commit, and git push. These commands are essential for version management in Git.

    commands descriptions
    Git init Initializes a new Git repository, this is where version controls are stored.
    Git clone Used to create a copy of an existing Git repository (a local backup)
    cd "Folder name" cd "Folder name": open the selected folder.
    mkdir "name" Mdkir "name": create a new folder.
    Git status Shows you the status of your repository (which files need to be added, committed, etc).
    Git add . Adds all new modified files
    Git commit Pull your changes and save them to the repository.
    Git push Push changes from local files to GitLab.

    What does git add, commit and push do (and why should we not forget those three commands)? Well, this command grabs all your changes and puts them in a box, git commit packages that box by closing it and giving it the name of the package and where it will be sent, and git push puts that package in a truck to send your changes inside that package. But we're missing something else, right? The confirmation of that package, and that can be checked directly in gitlab!

    (without these commands we will not be able to upload anything to our repository! And they always have to go in that order because if not, it will not work! The metaphor of the box was explained by instructor Rafael Pérez).

    Steps I followed to open my website. I went to the repository of the master Rafael Perez, specifically where the blue button that says code is, once clicked I downloaded the zip file that I will use to replace my current files of my website.

    Something very important about this is that first one should check if there is a index.html file in this zip file, since without it there is no basis for the website. Once the files were replaced I went to gitbash to open my folder and ask it to open the programmable/editable files inside the zip (already unzipped) so I could start editing them.

    using the comand code .

    Now I found endless things that could be edited but I based myself on the simplest.

    Write texts and titles, add photos and videos, edit background color and typography.

    So I started editing the website, it took me a long time to know what to put and how to put it.

  • p to add a text.
  • li to create lists.
  • h1-h6 for headings.
  • img to add images.
  • -h1-

    -h2-

    -h3-

    -h4-

    -h5-
    -h6-

    What did I learn?

    A little bit of everything (of this week) I think. I learned how to edit a web page, even if it's just the basics for now, like using html and css (but more html). Since I don't have any idea of programming per se.

    And something that I really hated and at the same time didn't was the documentation, I'm not used to it, only when I had to report everything in chemistry class.

    Also with the final project I learned about some materials, specifically about ethibond, which is a surgical material, specifically cardiac sutures, which makes it thin and very resistant because it must withstand the force of the pumping of blood, including irregularities. I even learned more about the structure of the spine, especially the differences between the vertebrae and their classification.

    My mistakes

    I had several mistakes, to be honest. First, it was hard for me to upload the page as such, when I finally managed to, I wanted to get into my repository and it gave me an error, so I got upset and stressed trying to check what it was. I thought about first re-uploading the page given by the Fab Academy, which accepted and ran perfectly. So I assumed it was my mistake when downloading the files from the template given by the Fablab Puebla. Then I decided to download the template from scratch again and edit it again, which I did, and during that process I deleted the yml file and ruined everything (or so I thought at the time). The next day I had to write to the head instructor Oliver Ochoa to check the problem I had caused, and in a few minutes that problem was solved.

    (I was laughing internally at how long it took me to try to solve it and ruining it even more so that in a few minutes my web page would be as if nothing had happened).

    Web template

    Use a web template provided by Rafael Pérez instructor at FAB Lab Puebla, on which the design of this page is based.

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------