Skip to content

Week 1. Principles & Practises, Project Management


This is the start of a wonderful journey. The two modules for this week’s assignment are as follows.

a. Principles & Practises

Find and sketch a final project idea.

The second aim of this assignment is to find and sketch a final project idea that showcases the skills and knowledge gained throughout the course. The project should be innovative and make use of the technologies learned in the course.
Doc

Image Courtesy: Photo by Daniel McCullough on Unsplash

Thinking Process

In today’s fast-paced world, we rely heavily on our gadgets to stay connected and productive. However, keeping track of multiple charging cables and finding available outlets can be a hassle.

This is where the my idea for All-Gadget Charging Table comes in. With its inbuilt wireless charging technology and room for hiding cables, this table provides a practical and clutter-free option for charging all of your gadgets in one place. This project aims to create a versatile and stylish charging table that will simplify the charging process for all your gadgets, freeing you to focus on the things that matter most.

The Traditional Approach: A Tangle of Wires, A Hassle to Handle

Project Image 01

Image Courtesy: Pinterest

A Better Approach

Project Image 02

Image Courtesy: Pinterest

Project Concept

The idea for a charging dock was inspired by the traditional bedside table, where people keep all their essentials within reach. With the increasing reliance on technology, it’s not uncommon to have multiple devices that need to be charged regularly. This led to the concept of creating a charging dock that doubles as a furniture piece and serves the purpose of keeping all your devices organized and charged in one convenient location. The All-Gadget Charging Table not only declutters your space by eliminating the need for multiple charging cables, but also adds a touch of style to your room.

Initial Sketch

Project Image 02

Project Stages

Phase 1: Design and Development of the Charging Table

Stage 1: Construction of the Table - The first stage involves building a sturdy and spacious table that can accommodate all your gadgets.

Stage 2: Creation of a Cable Tray - A cable tray will be added to the table to neatly organize all the charging cables and keep them out of sight.

Stage 3: Integration of Wireless Charging Technology - The table will be equipped with wireless charging technology to allow for effortless charging of compatible devices.

Phase 2: Portability

The second phase focuses on making the charging table portable by integrating a battery pack into the design. This will allow you to move the table within your space.

Phase 3: Mobile App Integration

The final phase of the project involves integrating the charging table with a mobile app. This app will allow you to control the charging time and automatically cut off the power after a full charge has been achieved. This will ensure efficient and safe charging of your devices.

With these three phases, the All-Gadget Charging Table will be a versatile and stylish solution to your charging needs, making it easier and more convenient to stay powered up and connected.



b. Project Management

Doc

Image Courtesy: Photo by Sigmund on Unsplash

Learn and understand the documentation process of the entire course.

In this assignment, we aim to explore the documentation process of the course by creating a website using HTML and CSS, leveraging the GitLab platform.
The main objective of this assignmnet is to understand the importance of documentation. This will be achieved by creating a website and documenting the entire process through GitLab. The aim is to get hands-on experience with the documentation process and to understand the different stages involved in it.

Scope of Study

Git

Gitlab

HTML

CSS

Learning Process

Terminal

Just after my tutor’s briefing, I understand that I must start from scratch. So I started learning Terminal because I use Mac OS. I rarely used the terminal on my lap. Since my background is in construction, which never demands the usage of such applications. So it took me some time to figure out how to use it and what it was specifically designed for. I started learning the commands for the terminal. Techopedia helped me in learning the basics.

Terminal01

MacOS Terminal

The Mac Terminal is a command line interface (CLI) for the macOS operating system (OS), which is similar to the Windows Command Prompt in its interface display and design.

Some of the commonly used Commands for Mac Terminal:

pwd                           print working directory (path name of your current directory)
ls                            list files
clear                         clear everything from terminal screen
cd                            change directory
rm                            remove files or directories
chmod                         change the access mode of a file or directory
ping <host>                   ping a host and display its status
curl -O <url/to/file>         download a file by using HTTP, HTTPS or FTP 
ssh <username>@<host>         establish an SSH connection to <host> with user <username> 
ls -ld                        display the default permission for a home directory 
ls -ld/<dir>                  display the read, write and access permission of a particular folder

Git & GitLab

I then move into the Git and Gitlab world. I had to start from scratch because Git and Gitlab were so unfamiliar to me. I used Google to look for tutorials and watched various Git videos on YouTube. My Fablab instructor was quite helpful in locating nice and simple tutorials for me during this process. And he assisted me in locating the Git teaching Game from LearnGitBranching, which helped me learn git lot more easily. W3schools tutorials provided me with more information and in-depth knowledge about Git and GitLab.

Getting Started - Install Git

To install Git on Mac, there are 2 ways:

Option 1 is to visit the Git website, get the latest version of Git for MacOS, and then install it by following the setup instructions.

Option 2 is to install via Mac Terminal. I chose to go with the second option.


For that, firstly we need to install homebrew. Video tutorial for installing Homebrew

Step-1: Go to the Homebrew Website, copy the code, paste it into the Terminal, press Enter, and wait for the installation to complete.

01

Step-2: Then it will prompt you for a password; enter your Mac login password and press enter. Installing will begin.

02

Step-3: After installation, paste the highlighted code in the terminal and press Enter.

03

Use the command brew --version to see if Homebrew is correctly installed. If everything is in order, the installed version of brew will be displayed. Git can now be installed.

04

Step-4: To install Git, type command brew install git in terminal and hit enter. Video tutorial for Git

05

Step-5: Installation takes sometime.

06

Step-6: Once installed, we can verify that everything is in order by typing git --version just like we did in brew.

07

Step-7: Now that Git has been installed, it is time to configure it. This is how Git recognises us. Use git config --global user.name "YourUserName" & git config --global user.email "your@email.id" command in terminal and hit enter. *Replace your@email.id to your email id that is associated with Fablab.

08

Step-8: The next step is to make and initialize a Git folder. In our case, we can download and clone the existing Git repository that Fablab built.

Step-9: Go to Gitlab and Sign-in with Fablabs.

09

Step-10: After signing in, we must download and clone the repository onto our Mac or PC.

10

Step-11: After obtaining the Git repository, we must set the SSH-Key before cloning. To configure an SSH key on a Mac, enter the command ssh-keygen -t ed25519 -c "your@email.id" in the terminal. When we enter the command, it prompts us for the location where the key should be saved. By default, it will offer us a place; we can continue from that point or modify it. After that, a password will be required in order to use this key. Also optional is this. These procedures result in the creation of a key that we may use to safeguard our git repository.

SSH keys provides a secure way to authenticate and establish encrypted connections between your computer and remote servers. It offers several benefits over traditional password-based authentication:

11

We can view our public key at any time by entering the following command into the Terminal: cat /.ssh/id_ed25519.pub

12

SSH-Keys are saved in the location. When we opened the folder, the folder was hidden, so we couldn’t find it.

For Mac users to locate hidden folders, Open the Macintosh HD folder in Finder, then press Command+Shift+Dot. You will be able to see your hidden files. To hide them once more, issue the same command!

13

Step-12: Once the keygen has been created, it is time to add this key to Gitlab. For this, click the dropdown menu in the right upper corner of your gitlab account and select Preferences.

14

Step-13: Go to SSH Keys in the user settings. Copy and paste the ssh-key into the Key box, then add your email address to the Title section. And click Add Key

15

Step-14: The repository can now be cloned to our Mac. Go to the Clone section, copy the url for Clone using SSH.

16

Step-15: Copy the url, paste it in the terminal, and press Enter.

17

Step-16: Clone completed successfully. After locally uploading documents, we can now begin pushing the repository to the server.

18

Developing Website for Documentation

Our website provides a thorough platform for documenting our entire course. It acts as a centralised repository in our learning process. I started working with basic HTML & CSS to create my website. The below shown is my home page.

101

Later on I changed the site layout by using mkdocs.

How to commit & push in Git

After making changes we need to commit and push the repository to the server. For that we use commands:

Step-1: git add --all

Step-2: git commit -m "message"

Step-3: git push

102

Our First push is successfully completed and passed.

103

104


Help Taken & References

Chat GPT used for doubt clearing and content helps.

Techopedia

Tutorial on Mac Terminal

Git & GitHub Tutorial

Git for Gitlab Tutorial

LearnGitBranching

Git & Gitlab

Back to top