About Me Weekly Assignments Final Project
Kevin J Jijo
Week One

1. Principles and Practices, Project management

Concepts for Final Project

Software Used

HTML Basics

To start off, we quickly brushed through some HTML basics. We learned that the header contains data about the page, while the body holds the actual content displayed on the page. An HTML document begins with <!DOCTYPE html>, and all elements are written using tags, which are enclosed within < >. Some of the common tags we covered include headings (<h1> to <h6>), paragraphs (<p>...</p>), and links using the anchor tag (<a href="link">This is a link</a>). We also briefly looked at basic styling, where entire portions of the page can be styled by adding a <style> tag inside the header and defining the tags to be edited using {}.

CSS basics

Single tags can be given identifiers, allowing styles to be applied individually, but this approach can quickly get cluttered. To avoid this, we can create attribute classes and then assign those style classes wherever needed. This is done using CSS (Cascading Style Sheets). CSS can be implemented in three main ways: inline, by using the style attribute inside HTML elements; internal, by using a <style> element inside the <head> section; and external, by using a <link> element to connect an external CSS file. The main page of a website is typically called index. We also briefly touched on CI/CD pipelines, where updates are instantly published.

Setting up the Code Editor

Finally, we downloaded VS Code as our code editor and installed extensions like Live Server and Code Spell Checker to make coding easier and more efficient.

VS Code Installation Live Server Installation Code Spell Installation

Git Basics

Git is basically a normal folder, but on the cloud, used for tracking and version control of files. It keeps a history of changes made to a project and allows us to go back to previous versions if needed. Git continuously looks for changes in files, including additions, deletions, and modifications, making it easier to manage updates and collaborate without losing work.

Gitlab Repository

The folder here is called a repository. Git checks the local files against the files in the repository, and if there are any differences, it updates them accordingly. This includes tracking changes like new files, deleted files, or modified content. Since my workstation runs on Windows, it doesn’t come with Git by default, so we downloaded Git for Windows(Git Bash) from Git Installation to enable version control and repository management on our system.

Installing Git

Setting up Git

We can’t simply access files in the repository from our local machine; there has to be some level of security. To establish this, we use an SSH (Secure Shell) key through the SSH protocol. It works like a tunnel between the local computer and the repository. An SSH key relies on two related but asymmetric keys: a public key and a private key, which together form a key pair used for secure access.

ssh-keygen -t ed25519 -C "name@gmail.com"

The private key is secret, encrypted, and stays only with the user, while the public key works like a lock and can be shared freely. We provide GitLab with the public key, and our local machine uses the private key to securely access the repository.

The command used to generate an SSH key pair is ssh-keygen, which creates both the public and private keys on the local machine

The ssh-keygen program is used to create SSH keys, where -t specifies the type of key being generated. ed25519 is an elliptic curve signing algorithm and is widely used in secure communications due to its strong security and high performance.

Creating the SSH key pair in Git Bash

Now that we’ve generated a key pair, we’re going to give GitLab the public key. To do so, we run:

cat ~/.ssh/id_ed25519.pub | clip

This reads the contents of the id_ed25519.pub file, which is our public key, and copies it to the clipboard.

cat stands for concatenate and is used to read and display the contents of a file. clip is used to copy the output to the clipboard.

~/.ssh/id_ed25519.pub is the file location of the ssh public key

Copying contents of public key

We then add the SSH public key to GitLab to link the cloud repository to my local laptop.

Key has been added to Gitlab

The SSH key pair has now been set up. Next, we’re going to clone a copy of the files in the repository onto our local machine using clone with SSH.

Clone with SSH

Now that the SSH key pair is set up, we can simply run,

git clone git@gitlab.fabcloud.org:academany/fabacademy/2026/labs/kochi/students/kevin-jijo.git

This command creates a copy of the repository files in our current directory.

Now we are going to start making edits, but Git doesn’t know who is making the changes. To fix this, we need to set a profile for Git, which is done using the following commands:

git config --global user.name

git config --global user.email

Adding the Student Agreement

Next, we had to sign a student agreement and add it to our FabLab website. We created a hyperlink that redirects the user to the student agreement file and added this link in the footer. Now, these changes were made locally and to see these changes reflected onto the website we will have to commit these changes to the Gitlab Repository.

git add .
This command stages all the new changes in the current directory, moving file contents from the working directory to the Git staging area. If you did not change all files, and for example only edited file.c, and want to commit changes only to that file, then: git add file.c

git commit

This command is run after staging. When run without any additional arguments, it only commits the staged changes.

git push
This command is used to send the committed changes to the remote repository.

First Push to Gitlab Gitlab after first push

Now the push is reflected on the website, with the student agreement hyperlink visible in the footer.

Student agreement in Footer

Setting up the Personal Website

We were then given the task of making the website our own, as well as documenting our first week’s work. HTML basics were learned through W3 HTML School, and to stylize my website, I referred to the CSS documentation at W3 CSS School.

The project I’m planning to work on is the automated record player, so going with the whole retro aesthetic, I designed my website to look like the Windows XP UI, which was the first operating system I had used. The website just uses HTML and CSS, using accurate colours and fonts to mimic the UI. More improvements to add more interactivity between the user and the site will be added soon.

First draft of the Personal Website

Found a high resolution stock image of the Microsoft Bliss wallpaper from Google Images. General inspiration was taken from Alexbsoft’s GitHub personal webpage.

However, that design was more Windows 95 focused, so I tried to adjust it to a Windows XP style since I have no experience using Windows 95(I wasn’t even born then).