/iteso-lectures-management-system

Some utility scripts to manage lectures at Western Institute of Technology and Higher Education (ITESO).

Primary LanguageShell

ITESO Lectures - Management System

This repo contains some utility scripts to manage homeworks, classwork, exams, etc.

Setup

Download this repository and the submodules:

$ git clone --recurse-submodules git@github.com:RHDZMOTA/iteso-lectures-management-system.git

Install dependencies:

  • Bash tools.
    • jq: sudo apt install jq
    • curl: sudo apt install curl
  • Python 3 or superior.
    • python: sudo apt install python3

Usage

The manage.sh script automatically creates git-submodules for each class repository and student. Environment variables are used for configuration of the target repositories.

Config File

Create the config file with the following command:

$ bash manage.sh --create-config 201902

This will create a .env.201902 file with the name of the repositories that should be used during the class.

Note you have to manually create/populate the repositories.

Sync main repo

Getting in sync with the main repo:

$ env $(cat .env.201902) bash manage.sh --main

By using pre-pending env $(cat .env.201902) to the command, you provide an specific set of env-variables to the script.

Sync exams

Getting in sync with the exam's repositories:

$ env $(cat .env.201902) bash manage.py --exam --first

Options:

    --first     : Sync first exam.
    --second    : Sync second exam.
    --third     : Sync third exam.