Week 02. Project management

01.23.19 Class

On January 23, Neil explained all the project management systems during the class. Within the explanation has been exposed the synchronization systems, the control systems of the versions to have a repository where the file can be changed, the different systems of the web servers, blogs, wikis and places where locate content about Project management.
Apart from all the content that appears on the schedule, he also explain us how to work on the basis gitlab that has been facilitated by them to create our own website. The beginning of the development of this personal site is going to be our first assignment. We also have as a assignment to plan our weekly work and as a personal assignment is my progress and advance in my final Project to define it as soon as posible.

Week planification

For my planification I make an excel doc to introduce all my week plans

week planification

For this week I want to do:
Wensday: Class Thursday and friday: planificate the week and work in the remote repository Saturday, sunday and monday: work on local repository with Brackets Tuesday: finish the week assignement, look for a new web themplate and work in the final project

Personal site development

I start from the base that I am rookie on web programming, during my university degree, I have been programming in java with Eclipse, but it has been a very basic type of programming.
To face this great challenge, the first thing I did was connect to my gitlab account and navigate through the folders of the master project that Fiore has given us, observing all its folders and the different extensions of the files contained in them.

pm1

On my main page of the repository I have also seen a notice that indicated that I had to enter an SSH key, this key is used to establish a secure connection between my computer and the repository that I created in the cloud. It works When I work in the local repository and upload the changes to the remote repository, this exchange of information will be secure.
At the moment I am going to work in the remote repository, the one I have in the cloud, but I have created the SSH key and I have entered it in the gitlab account to avoid problems working from the remote. I have created the key with a key generator called PuTTY Key Generator. After installing the program, I have indicated the type of key I want, SSH-1 (RSA), I have entered a key passphrase as a password and I have generated it. TIP: You have to move the mouse to generate it. Once generated, I have copied it completely and I have copied it in the gitlab.

pm2

After generating the SSH key I have continued observing the files and navigating a bit through the repository. I have read the README section and I have made the first instructions that appear. I have also helped with a basic tutorial on programming and using gitlab prepared by my instructor Pablo.

First time using Gitlab pm3

After making these first small steps, I got into my page and I was very surprised and I was very excited to see my first changes. I have continued advancing and I have learned to introduce photos in the repository, also with Pablo’s tutorial. I have had some code problem like putting scripts instead of bars when redirecting the photos in the .md files of the assignments, but I have solved it.
All my learning to write the code has been based on observing the examples of the different actions that appeared in the template and replicating them in the way that suited me to reach my final result. At the beginning the process was a bit slow, because every time I made a change, I created a new version and went to the website to refresh and see how the change was made. As I learned more, I made more significant changes. In this way I have completed the first assignment 01. Principles and practices.

pm4

I have shown my advances to my instructors Nuria and Pablo in the regional review, so they have explained to me that I was working all the time from the remote repository and that I had to start working locally. I have proposed to introduce the second assignment, this one that I am writing, on my website locally. For this I have started downloading GIT and installed it on my computer, with the option to install git bash. Once installed, I open this bash of git and through a second tutorial, created by our instructors, I will clone the repository to be able to modify it locally.

Project management tutorial

Once opened the git bash, I configure my username and my mail, I create a folder on the other hand in the desktop called “personalsite” and try to clone the repository in this folder. Here I have the first problem. He tells me that it can not be established. I try several times.

pm5

I keep trying other alternatives. From my Gitlab account I downloaded the repository to this folder that I created on my desktop, to see if this way I can work from the web developer directly.

pm6

I also downloaded a web developer, Brackets, to work with him locally. I want to test if I can work with brackets and the repository that I downloaded directly. I open brackets and through this I open the repository that I downloaded from gitlab. It opens, but now I have the question of whether by modifying something, can I upload it to the cloud?

pm7

I have not dared to continue in this way and have tried to redo the SSH key again and upload it. Try again to clone the repository in my desktop folder and another error has arisen. This time Gitlab denied me permission to do it.

pm8

It seems that I have the error in the SSH key, which is not well done. To check this, I look for the key folder in BOOTCAMP (C) /Users/Alejandro/.ssh and verify that the key I had created with the PuTTY Gen Key program does not exist and that it does not serve to establish a secure connection between the repository local that I want to generate and the remote repository.
Next, I look for the command to generate the key from the git bash, ssh-keygen -t rsa -C “a.ulecia.ausejo@gmail.com”, I execute it and check again in BOOTCAMP (C) / Users / Alejandro /.ssh the key was generated. This time it has been generated and I have three files in this folder. The file type Microsoft publish is the one that contains the public key that must be used in gitlab.

pm9

To know this key can be done in two ways, by opening this file with a text generator or by entering the command: cat /.ssh/id_rsa.pub. Once I have the key I copy it and update it in my gitlab account.
Now when entering the git clone command with the address of my repository and confirming that I am in the folder that I want to generate (desktop / personalsite) this is generated and checked in this folder that I have all my local repository.

pm10

From this moment I am not so afraid to work from Brackets locally because I know that I have a secure communication between my pc and the remote repository. My next step is to open Brackets and through it open the folder of my local repository. To verify that the communication is correct and that I follow all the steps correctly, I am ready to perform a test.
I add two titles to the assignment of week 2, of this assignment and I keep the changes from Brackets.

pm11

Before this modification I go to work to the git bash and i do the next steps to do te puh up on the cloud:
Git pull Download the last repository version
Git status Check the changes
Git add . Accept the changes
Git status Check the changes acceptance
Git commit -m "localpushtry" Name the last version change
Git push Push up to the cloud

pm12

In the remote repository you can see that the new version has been generated and in the web page you can see the changes made from the local repository, so after several problems I have successfully made the local repository, its modification from the developer web Brackets and its upload to the remote repository. Now all that remains is to continue working and upload all this information collected.

pm14
pm13

After this test I have begun modifying the agreement and I have uploaded this to its place so that there is proof.

pm15

Once the agreement has been uploaded, I have continued to modify the About Me section and the main index section. At this point I have a problem with the code. When you enter an image in the index.md, the address of this one can only carry a point, since this file is in the folder docs that is in the same place as the folder images, instead in the rest of the .md files in which I worked the direction of the images took two points as they were in subfolders. Solving this problem has led me to go to one of the first versions that we made and capture the problem that I was having.

pm17
pm18

When I finished uploading all the information, I reviewed the size of the repository that I have with the following command: du-sk * ǀ sort-n, and in total were 6.9 MB, too much for the initial two weeks. I have reviewed the size of the images and I had some very large, so I had to reduce and update them. To update them I have done with the same name in the same folder of the repository. Still, revising also the assignments, I found a bit extensive and I decided to open an issue consulting Fiore his opinion on my question.

pm19

To finish, I uploaded the images to the repository and I checked again the size It occupied. Now occupies 2,4 MB. A normal size for the first two assignments, because later I will need size to upload videos and design files. I have also done my personal task and have continued to develop the final project. Besides I searched for a template in HTML. For my new website, I’ll start developing it from now on. Starting with learning HTML language.

pm20

Useful links

Git
Brackets
Fabacademy tutorial

Conclusions

As for the assignment I have had many problems in web programming because i was novice in that, but all these problems have helped me to get to understand all the operation of Gitlab, local and remote repositories and the way of communication between them. I’ve also learned a lot of new programming commands and a different way of doing this.
It’s been a hard week and a lot of learning. The way of this fabacademy has started strong but with great desire to continue learning and evolving.