Project Management

This course involves working towards a final project that will lead us to install two content management systems and an integrated library system.

To accomplish this, we will need to set up Linux servers. We will use Google Cloud for this purpose. With Google Cloud, we can create what are called virtual machines that run full-fledged operating systems. We will work with Linux, and in particular, the Ubuntu distribution of Linux, to complete our project.

We will also want to document our work. To do that, we will use git, which is a version control system, and GitHub, an online platform for hosting git repositories. Using git, we can collaborate, share documentation and code, and more.

Using Google Cloud (gcloud)

The first section in this chapter introduces us to Google Cloud, which I'll often refer to as gcloud. We will use this platform to create virtual instances of the Ubuntu Server Linux operating system. Once we create our own Ubuntu virtual machines, we will connect to them via the command line. I have written some helpful software to help you learn the command line language, specifically, the Bash shell. Just about everything we'll do this semester will happen via the Bash shell.

Git and GitHub

The second section in this chapter introduces us to git and GitHub. git and GitHub are primarily used for software management. Every major software project requires managing the codebase, collaborations, documentation, and more. Many people may be involved in these projects, and it takes coordination for them to write the many thousands of lines of software code, which also requires management.

Although git and GitHub are primarily used for this purpose, our goal is to use them to document our work, much like this book, which has its own GitHub repository or repo. This documentation covers the processes involved in learning Google Cloud, git and GitHub, Linux, and more. Therefore, in the next section, we'll learn how to create a new repo on GitHub, use the web interface to add notes, and write our notes using Markdown, an easy-to-understand and use markup language to format our text.

Providing good documentation is key to being able to build on prior work, make adjustments to our workflows, recall the details of some process, and, for students, it can help in retention and reflection. In the remainder of the semester, we will begin to install and configure some complicated pieces of software. In order to better understand what we will be doing, it will be helpful to document our processes.

Attending to Detail

As we begin to work on the more technical aspects of this book and course, it will be important to remain attentive to details. Many people who are new to this kind of work often stumble over the details, like a missing period, incorrect capitalization, and more. To learn how to pay attention to the details, work slowly and read any messages, including error messages, the screen prints out in response to your commands.