Skip to content

EdgeCrafters/ejp-t

Repository files navigation

EJP-T: Edged Judger Platform for Teachers 🍎

EJP-T is a specialized component of the Edged Judger Platform (EJP) designed to empower educators in the realm of coding education. Seamlessly integrated with the EJP ecosystem, EJP-T enables teachers to craft assignments, manage student grades, and even automate the grading process.

Table of Contents

Highlights 🌟

  • Craft Assignments: Create coding assignments with custom criteria, deadlines, and point values.
  • Automated Grading: Leverage automated grading scripts to evaluate student submissions.
  • Grade Management: Keep track of student grades and progress with a simple and intuitive dashboard.
  • Cross-Component Integration: Works in tandem with EJP-S (for Students) and EJP-BE (Server Program) to provide a comprehensive educational experience.

Getting Started 📚

Prerequisites

  • Ensure that you have the main EJP system set up and running.
  • Requires Linux OS (Windows & Mac support coming soon).

Installation

  1. Clone the EJP-T repository.
    git clone https://github.com/EdgeCrafters/ejp-t.git
  2. Navigate to the cloned directory and run the installation script.
    cd ejp-t && chmod 755 scripts/setup.sh && chmod 755 scripts/install.sh
    ./scripts/setup.sh && ./scripts/install.sh
    source ~/.bashrc
    # source ~/.zshrc (if you use zsh, or whatever, customize this command)
  3. Follow the on-screen prompts to complete the installation.

Usage

  1. Launch EJP-T from the command line:
    ejp-t [category] [command] [options] 
    Parameters
    • [category]: The category to which the command belongs (e.g., manage, workbook).
    • [command]: The specific action you want to perform (e.g., create, append, enroll).
    • [options]: Additional parameters or flags that modify the command. (e.g. -h(host), -l(location)). See below for more information about parameters.
  2. Use the menu options to create new assignments, manage grades, or sync with EJP-S and EJP-BE.
  3. For a list of all available commands and options, use:
    ejp-t help

Contributing 🤝

We welcome contributions from the community! Feel free to fork the repository, make your changes, and submit a pull request. For more details, check out our contribution guidelines.

License 📄

EJP-T is part of the EJP project and follows the same MIT license.

Details

  • Caching Options & Authentication: Some [options] and authentication information can be saved locally to eliminate redundant input.

manage

you can mange workbook(s).

ejp-t manage [command] [options]

[command]

  1. create : create user(s) in certain host

    • -h : url of server, the url of the server where the workbook, problem, or test cases are stored. this information can be cached locally for future use.
    • -u : a username to create
    • -p : password of a user to create
    • -l : path to .csv file(e.g.) with usernames and passwords (makes -u and -p optional)

    ejp-t manage create -u john1234 -p neo666

    or

    ejp-t manage create -h http://your.url.plz -l users_info.csv

  2. enroll : enroll user(s) to workbook. with this command, able to assign workbook to students

    • -h : url of server (cached)
    • -u : name of a user to enroll
    • -r : name of workbook to enroll to (cached)
    • -l : path to .csv file(e.g.) with usernames and workbooks (makes -u and -r optional)

    ejp-t manage enroll -h http://your.url.plz -u john1234 -r swe2001_41

    or

    ejp-t manage enroll -l users_repo.csv

  3. score : get score of user(s)

    • -h : url of server (cached)
    • -u : username to inspect (overrides -l)
    • -r : name of workbook to inspect (cached)
    • -p : name of problem to instpect. without this option, program will generate all scores about problems inside the workbook.
    • -l : path to store [workbook]-[problem].csvfile(e.g. ) which includes score of users.

    ejp-t manage score -u john1234 -r swe2001_41 -p binary_tree

    or

    ejp-t manage score -p kmp_problem -l ./scores

  4. list : get information of workbooks or problems

    • -h : url of server (cached)
    • -r : name of workbook to inspect. without this option, program will list workbook which available to user in the host.

    ejp-t manage list # list workbooks

    or

    ejp-t manage score -r genesisworkbook # list problems of genesisworkbook

workbook

you can manipulate workbook(s).

ejp-t workbook [command] [options] 

[command]

  1. create : create a new workbook in certain host

    • -h : url of server (cached)
    • -l : path of workbook directory(e.g.) which possess compenents like info.json and problems
    • -r : name of workbook

    ejp-t workbook create -h http:/your.url.plz -l ./workbook0 -r swe2001_43

  2. delete : delete workbook/problem/testcase

    • -h: url of server (cached)
    • -r: name of workbook. specifies the workbook to delete or the workbook that contains the problem or test cases you want to delete.
    • -p: name of problem. specifies the problem to delete or the problem that contains the test cases you want to delete.
    • -t: testcase flag. use this flag to indicate that you want to delete test cases. no additional value is needed for this option; its presence is enough to signal the deletion of test cases.

    ejp-t workbook delete -r swe2001_42 # delete a whole workbook

    or

    ejp-t workbook delete -r swe2001_42 -p assignment_1 # delete a problem

    or

    ejp-t workbook delete -r swe2001_42 -p assignment_1 -t # delete testcases

  3. append : append workbook/problem/testcase

    • -h : url of server (cached)
    • -r : name of workbook. specifies the workbook to append problem or testcases. (cached)
    • -p : name of problem. specifies the problem to append testcases.
    • -l : path of problem directory or testcases file.

    ejp-t workbook append -r swe2001_42 -l ./path_of_problem #append problem to workbook

    or

    ejp-t workbook append -p assignment_1 -l ./path_of_testcase.json # append testcase to problem

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages