WEEK01. Project management

This week I discovered many features and software that I've been curious about for a while, but I never took the time to learn about them. It was exciting to understand their applications and potential. In particular:

The GIT tutorial

Firstly, some terminal commands:

Version control software

My computer has become cluttered with multiple copies of the same files, due to my habit of saving new versions for fear of losing something important. I have attempted to mitigate this problem by using cloud storage and document history tools. However, I now realize that I could have solved this issue more efficiently by utilizing version control tools, as Git. Using Git and branching approach is possible to manage easily multiple version of the same file.
The minimal unit of Git is the commit, and is used to save with an univoque hash a version of files uder control.

Main Git Commands and Workflow

The following picture displays the main commands for managing a remote repository:

Git commands to manage a remote repository

Before pushing updates to the remote repository, it is important to:

Generating SSH Keys

Securing access to your remote repository is important to ensure that only authorized users can make changes. One way to do this is by generating a pair of SSH keys, which consist of a private key and a public key. The public key is uploaded to the remote repository, allowing access to anyone with the private key. To further enhance security, you can add a password to the private key. This process of generating SSH keys provides an additional layer of security, ensuring that only trusted users have access to your repository.

It's important to note that this process may slow down the push process, as the system will require authentication each time a push is made. This may be particularly cumbersome if multiple pushes are made in a day. However, the added security is well worth the extra time required for authentication.

SSH key creation

Cloned Fab Academy student site

As part of the Fab Academy program, I have cloned the student template site from the remote repository on GitLab in the local repositort. The remote repository will serve as my personal static website, showcasing my progress and work throughout the program. The site will be regularly updated and maintained through the remote repository, providing a comprehensive documentation of my journey in the Fab Academy program.

Clone the site on my pc

Website Development

When writing your first HTML and CSS pages a great resource for learning HTML is W3 HTML chools, which provides a comprehensive guide for beginners. This website will help you get started with writing HTML and CSS, providing you with a strong foundation for building your own websites.

Instead, Visual Studio Code is a good tool for developing websites. It is an open-source software that provides support for both HTML and CSS. It makes it easier to work on the different pages of a website, providing a range of features to help streamline the development process.

Documentation workflow

Compression of images

To compress the pictures I found that there is the possibility to do that locally on my mac using the default preview application > tools > regulate dimension. It is possible to block the proportion of the two dimensions and resize the picture according to the weight, that it is shown in the resizing windws.
The images and files created in local for each week assignment are stored still compressed in FAB ACADEMY folder named "number_of_week_main_topic"

Organizing Documentation by Week

Consistent media production and constant update during a course requires organization. To make the management process easier, it is recommended to create a main folder on your computer, with sub-folders for each week. This will help keep your documentation organized from the start.