1. Principles and Practices

Task for Week 1

Plan and Sketch of My Potential Final Project

For the Final Project, I've had several ideas in mind. Eventually I've come to a conclusion after taking the importance of my Project for my community and hence decided to work on making a "Scare Crow".

Why Scare Crow?

Bhutan is still a developing country where maximum population owns/depends on farming. Every year farmers lose their crops to wild animals.According to our Local News, farmers in the country on average lose about 8.250 metric tonnes of crops worth Nu.171.75 million every year to the wild animals which is alot in this small country. Hence safe guarding the crops seems to be one of the essential problems for the farmers.

So I've come up with the idea to build a scare crow which will be easy to operate, user friendly, durable and cheap.

Final Project Rough Sketch

Traces
Output Device
  1. LDR( Light Dependent Resistor)
  2. Body Heat/Temperature Sensor
Input Device
  1. LED
  2. Speaker

2. Project Management

Introduction to Git

According to Wikipedia,Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different systems)

Downloading Git

  1. Open Git official website in your browser. The link to the webpage here
  2. Then Click on the link to Download for windows. Then git will be downloaded in your PC
  3. Traces
  4. Find the file in the downloaded location. Extract the file and start Launching.
  5. While installing, just click Next until the installation is complete. I stuck with the default settings.

Using HTTPS to Clone

  1. Log in to gitlab repository. Gitlab account was already created for all the students, so just changed the default Password.
  2. Traces
  3. First to Clone the repository, create a folder in your desktop or in your local drive and name it as per your requirement.
  4. After that open the folder and copy the address of the folder as shown in the image below
  5. Traces
  6. Also Copy the HTTPS link from your gitlab account.
  7. Traces
  8. Open Git Bash and enter the command as shown below
  9. Traces
  10. The first command which is "cd" will navigate the location of the folder where you want to save your repository.
  11. The second command which is "git clone" will clone the required repository
  12. After entering each command, press Enter. Here I used cd(Change Directory) and Git Clone. After this the repository for my website is saved in my PC in the selected folder.
  13. Traces Traces
  14. My repository has been saved sucessfully.

Creating and Editing My Website

To edit my Website I used VS code.To download the software, here is the link

Since I'm new to coding, got help from W3school Website. Link is here

With the help of W3school, I edited my website. Added images and was able to link different pages.

This is my Website

Traces

Pushing website to the Cloud using VS code

  • After editing my website, had to upload my changes to the Cloud. To do so I used VS code.
  • Traces
  • Before clicking on "Commit" write a message about what changes you are making in message box shown in the image below
  • Traces
  • Then Right Click on "Commit" and select "Commit & Sync". This action will do the push and pull action.
  • Traces
  • After clicking on "Commit and Sync", it will ask whether you want to continue with Push and Pull. Click "OK"
  • Traces
  • Finally my website has been pushed to the Cloud.

Visual Studio Code and HTML

  • Visual Studio Code is a text editor software which provides basic support for HTML programming. HTML(Hypertext Markup Language) is a markup langauge which is used to structure a web page and its content.

Difference Between "commit & push" and "commit & sync"??

  • Commit will only make record of the changes that you have made on your local machine. It will not make any changes in your remote repository
  • Commit and push will record changes in your local repo as well as remote repository. The push command actually pushes the changes to your remote repository.
  • Commit and Sync will do three things. First of all, it will Commit, record the changes on your local repo. Then it will Pull, grab any changes from the remote repo( anything edited/ removed the changes which has already been in your remote repo) and then Push, record changes in the remote repository.
  • Notes

    • Many used SSH Key to clone the repository. Since mine worked by cloning using HTTPS, I kept it that way. No problem faced till now.
    • Used VS code for Push and Pull command too. It was much easier that way for me.
    • Personally I haven't used Git Bash for updating my repository but I do have a friend,Ugyen who had problem committing and pushing from the Source Control so she now uses Git Bash for all the commands. I feel both the way is the same since it does the same job but since to use git bash we have to go to another application and have to give command, I personally find the Source control easier and faster, since its just "One Click Away".