Week 1: Principles, Practices & Project Management

What i have learnt?

This week, i learnt how to document assignments with Gitlab, VS code, practiced basic coding with html and css, started ideating for final project. I also realised need to work on structuring and my time management. As i started with blank canvas now it has few strokes of learning, doing, iterating.

Final Project Conceptualizing

Design for rest and relaxation

Are you someone who usually falls asleep on bus or car rides?
That gentle rocking, the low engine vibration, the continuous movement inducing sleep in you, these motion stimulates parasympathetic nerves which is responsible for rest and digest. A rocking-chair-inspired furniture system that integrates engine-like micro-vibrations and slow motion. Designed either as a standalone sleep pod or as an attachable module for existing office chairs, for quality rest and sleep time

FUN FACT: the Hong Kong Sleeping Bus Tour — a five-hour bus ride created with one simple purpose: to help people sleep. Passengers are given: eye masks, earplugs, comfortable reclining seats, a long, quiet, scenic route with minimal interruptions.

Setting up Git repository

What is Git?

Open-source version control system - the system that manages versions of your code. The work simple concept : “snapshot”. everytime you push your changes in code, it takes a snapshot of all your files. These snapshots live in a repository — a folder where Git keeps track of everything. The repository can be on your computer or hosted on gitlab. This makes project tracking easier, and there's always the option to revert to earlier, functional versions if there's a problem.

what is Gitlab?

GitLab is an open-source platform (online server) built around Git.
Provides set of tools and features to manage Git repositories, project planning, continuous integration/continuous deployment (CI/CD), code review, issue tracking, etc.

what is Git Bash?

Git Bash is a terminal for Windows that lets you use Git commands.

1

Installing GIT

I've windows, downloaded the windows version. Download and run the installer.Click "Next" to accept the recommended settings.This will install Git and Git Bash.

2

GIT Bash

After installing Git, you can find Git Bash in your Start menu.
You can use Git Bash just like the Command Prompt.

3

Gitlab login

Gitlab login: use fablab account and login there, in "Projects" you can find your repository.
Remote repository is a version of your project hosted on the internet.

Next we need to securely connect your computer to GitLab using SSH.

SSH Key Generation

1

SSH key

Used for authentication, way to securely connect to local computers.

Public key(like a lock) and a Private key(like your own key). Only someone with the private key can access what is locked by public key.

Share the public key with the server, but keep the private key safe on your computer.

2

For creating ssh key:

$ ssh-keygen -t ed25519 -C "[email]"
3

For adding the public key:

for adding the generated key go to gitlab profile >> preference>> ssh key then paste generated public key on clipboard and fill rest. Once done, it will be looking like this:

Cloning Repository

1

Git Cloning

Means downloading full copy of a global repository into your local computer.

Now you can use this repository and make changes in codes and later push this modified file to server.

2

Clone with ssh

home>> project>> member - you can see your repo >> from their blue bottom named “code”

Click on the code and copy clone with ssh url

3

command

git clone [Paste the copied URL]

A zip file of global repository copy will be downloaded in your computer.

How to configure Git?

Git Configuration

Giving your identity, telling who is the author, who is making the commits.

  1. $ git config --global user.name "[username]"
  2. $ git config --global user.email "[email]"

    Linking Students Agreement with my fablab website

    Open students agreement(/students.md) in VS code, read and sign them with your name. Also make sure the file type is MD file (or .markdown file) format. Afterwards link it with website and add it to footer section using anchor tag:

     <a href="students.md> 

    For updating the changes made in VS code into the gitlab:

    Commands

    Description

    git add .

    Add all new modified files to index (staging area). The staging area is like a waiting room for your changes.

    git commit -m 
    “message”

    Records snapshot of the staged changes into the repository history with a message. Message should describe what you did.

    git push

    uploads your local commits to a global repository.

    Website development and Designing(HTML, CSS)

    As each student is provided with basic website for documentation purpose with a possibility of endless stuffs to create based on their own creativity and knowledge.

    I used the w3 school as main resourse to learn html and css, later on used figma for designing and ideating UI of “about me “ page, further used reference images of table of contents layout from pinterest and uploaded it on ai tools and prompted to make html and css code (to learn how it can be coded using html and css). From that information, used the html tags and attributes, css styling, iterated it accordingly for my UI layout requirements.

    Before starting with the website development, we installed Live Server (five server)and save typing extensions in VS Code.

    Five Server helps in running the website on a local server and shows the changes in real time whenever we modify the code. To see the website live, we can click on the “Go Live” option at the bottom of the VS Code window. Once we click on it, the website opens automatically in the browser.
    Save type automatically saves the file while typing, so there is no need to save it manually.

      <div> 

    used as a container for other html elements and for grouping sections

      <li> 

    defines a list item. It is used within parent elements like ordered lists (<ol>), unordered lists (<ul>)

      <p> 

    defines a paragraph

      <pre> 

    by using this text can displayed exactly as written in the HTML source code.

      <header> 

    used as a container for introductory content

    @font-face {
    font-family: myFirstFont;
    src: url(sansation_light.woff);}
                

    For adding custom fonts.
    Fonts that i used are:Rachelya Salita Satoshi

      
    display: grid;
    grid-template-columns:250px 1fr;
                

    Specifies the size of the columns, and how many columns in a grid layout

    Other tool used

    Used for taking screenshot + simultaneously you can edit with many built-in feauture.

    for instance, you can add an arrow mark, highlight text, blur a section, draw rectangle and many more.
    Used to compress the image file size.