Tools

Git

Git is a fundamental part of our system. While you might be tempted to treat it as “just” a source control tool, your life will be much easier if you take the time to become familiar with everything it can do for you. It is most important to grok two fundamental aspects of Git that differ greatly from other CSV systems: one, the history is immutable, and two, branches do not cost anything to create.

Git has countless options, so to avoid feeling overwhelmed, I strongly suggest following one of the linked guides to start with, then branching out or asking someone when you need to do a specific task.

Further Reading

Gitlab

GitLab is a web-based DevOps lifecycle tool that provides a Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license. Our instance are hosted by us and can be found at http://gitlab.it.si.

Slack

ITSI uses Slack as messaging for teams, bringing all your communication together in one simple place and integrating with the tools you already use. What’s different about Slack is that team conversations are organized into channels. Our instance can be found at https://itschools.slack.com.

Postman

Postman is ITSI’s favourite tool for testing our APIs.

Step 1: Install Postman

Get Postman from the official site

Step 2: Download our custom Postman Collection

Get the collection here

Step 3: Import the collection into Postman

Use the import button pictured here to load the file you downloaded in Step 2. You will see a new collection on the “Collections” tab.

Import collection

Step 4: Log in

Go to the collection, click on the Login request, fill in the server you want with the appropriate username and password and click “Send” to log in.

Eventcop

A tool to validate event streams generated by miEbooks and sent to analytics. For more information see https://gitlab.it.si/analytics/eventcop

Api integration tests

The goal of the integration tests is to test the data sent from the Educator Console to miEbooks. The testing happens on each commit and occurs on offline.staging.it.si.

The tests test the following: 1. That data is valid (using JSON Schemas) 2. That data is actually returned 3. That correct data is returned based on different scenarios

If tests fail, a Slack is sent to the #testing-miebooks channel with details on why it failed. Additionally the latest results are made in human readable format and displayed at https://pef.pages.it.si/api-integration-tests/tests/

For more information see https://gitlab.it.si/pef/api-integration-tests.

Bash on Windows

Since most of our systems are Unix based, we suggest Bash on Windows if you have a Windows machine. Bash on Windows provides a Windows subsystem and Ubuntu Linux runs atop it. It is not a VM, but rather a complete Linux system inside Windows 10.

See https://itsfoss.com/install-bash-on-windows/