The goal of this assignment is get comfortable with the git and explore and use website development tools to create our web.

Students should have:

Made a website and described how you did it
Introduced yourself
Described and made a sketch of your final project
Documented steps for uploading files to archive
Pushed to the class archive


Our first assignment was to create our personal website to upload to the FabAcademy repo.

I did it with HTML and CSS. I used them few years ago, but a very short time and I forgotten how to use them. It is for that reason that I had to look for the Internet some tutorials about them. This tutorial is one of that it helps me a lot, but is in spanish. Also I used this one.



Version control systems are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.

The only version controls that I known before doing this course was dropbox.

Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for software development, but it can be used to keep track of changes in any files. A distributed revision control system is aimed at speed, data integrity, and support for distributed, non-linear workflows.

Some of the reasons why I chose GIT are:
1. Facilitates collaborative work.
2. Significantly reduces project deploy times by uploading only the changes (not changed files, just changes!).
3. It allows to return to previous versions in a simple and very fast.
4. It allows generating workflows that facilitate the development and maintenance of large projects.
5. Branches allow us to work with a code base parallel to the project itself, where we can correct bugs or develop new features for the product without affecting the master, but maintaining all the advantages of using a control system. Versions.
6. Starting from another environment is as easy as "cloning" the project to your new environment, working on the files you want, and uploading the changes to the "master" or a branch.
7. Label system, to label the different versions of the project.

Preliminary to upload archives with Git

Firstly, I used the following command:

ssh-keygen -t rsa -C "$my_email"

This generates the SHH Key, which is used to establish a secure connection between GitLab and my computer.

Secondly, I used this command to see my public key:

cat ~/.ssh/

To continue, I copied my public key to the clipboard. I use the following command because I have Windows on my computer.

clip < ~/.ssh/

Clone archive

I installed the GitBash, I opened it and I went to the folder where I want the archives of FabAcademy.

When I was in the correct folder I cloned the archive with the following command:

git clone

To continue, I put:

git config --global "My_name"

and next:

git config --global my_email

After that, I had a folder called "fablabbcn", where there is all the work of the students from Barcelona.

To update archives

I used the followings command, one by one:

git pull
git status
git add .
git commit -m "fablab1"
git push

Update archives with Git


The idea for my final project is design and build a hive for the bees, and controlled it by diferent sensors, to know more about the bees.

With the sensors I want to know:

  • Temperature (indoor and outdoor)
  • Humidity (indoor and outdoor)
  • Amount of sunshine
  • Sound of the bees
  • It would be also interesting:

  • Weight
  • Speed of the wind
  • Know if it is raining
  • Put a resistence to warm up the hive if it is necessary

  • Home Next assigment