Principles and practices, project management

Goal

This is the first week in fabacademy and I learn the Principle and practices, project management.
In this week I should build my personal website , describe my final project , plan and sketch potential of my final project , add it to my website and upload it to the class archive and work through git tutorial.

Web development

So before I start doing this week's assignment or any other assignment I made my own web page so that I can document everything about all the weeks and final project.

Index page template

At first I choose bootstrap one page template from the Internet and modified on it using HTML programming.
This is the Link of the original page Then I start editing every thing like pictures, titles and content of the page using HTML using ATOM text editor

I use w3schools website to learn more about HTML and CSS, Itis one of the best websites that any one can learn about website development from it.

I try many text editor like ATOM, Sublime and Geany I prefer to use ATOM to make my documentation.

ATOM has a lot of advantages like it is very simple language that I can learn it and use it in my documentation.

Assignment pages

After I finish the editing in my personal web page template, I starte documenting everything using MarkDown with Atom text editor also.
I have learned about Markdown through this tutorial so I modified the main page once and after that I document the weeks assignments using Markdown and converting it to HTML.

There are a lot of things I can use to convert from markdown to HTML but I decided to use pandoc .

Pandoc is haskell library that can convert from one markup format to another.

How I use pandoc .

At first I should install pandoc.

After I finished editing on my documentation in markdown using atom I save it as file.md then I open terminal and write the following command.

pandoc w1.md -f markdown -t html -s -o w1.html

This command is used to convert from md to HTML, If this command succeed In should find file called w1.html in my archive

Now I have the file in HTML format and the file ready for pushing to the archive.

Version control

What is Git?

Git is a version control system (VCS) for tracking changes in computer files and coordinating work on those files among multiple people.
It is primarily used for software development, but it can be used to keep track of changes in any files. Git is free software.

Generating SSH key pair

Then I do the next steps through this link generating ssh key for Git

Cloning the repository

How to push my documentations to Archive

After configuring my SSH key, now I am ready to push my documentation to my Gitlab account by following this steps.
- Opening terminal to use command line
- cd Desktop/fablabuae/students/164 to open my documentation
- atom w1.md to create week1 file and start writing documentation on it. - Make the modification and save it
- next step is to make git pull so I can download repository. - git add --all - git commit- m "massage" to put my message in this case it will be week1
- git push this is the final step to push my documentation to Git

Problems I faced during pushing my documentations

first problem is I lose my ssh key when I close the terminal so I write this command every time i open terminal ssh-add ~\.ssh \"ssh_name

Second problem is pushing failed

This problem can be occurred as someone trying to push during my pushing or atom is not my default text editor so I make it as my text editor.

One day I had another problem

[ahmed@ahmed-pc fablabuae]$ git pull
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

and I have to add my identity every time I login

[ahmed@ahmed-pc .ssh]$ ssh-add -l
The agent has no identities.
[ahmed@ahmed-pc .ssh]$ ssh-add ahmed
Identity added: ahmed (ahmed)
[ahmed@ahmed-pc .ssh]$ ssh-add -l
4096 SHA256:goclwWjK/IIDHe7E9iLCu2ggpNKg1sXUuMC9tXFqb5k ahmed (RSA)

My final project sketch:

I have changed my final project to make Musical instrument called semsemya and this image show the intial sketch I want to make.