Skip to content

Refactoring scratch pad

Chaitanya Mukka edited this page Dec 16, 2018 · 74 revisions

Autolabcli-ng

  1. Filter sensitive output from stdout and stderr of console.

  2. Generate proper error conditions. see issue #27.

  3. Sequence diagram for autolabcli application. Update on this page.

  4. autolabjs init must handle the password containing special characters. see issue #32.

  5. Debug messages sent to log manager by Winston logger.

  6. package (Module dependency) diagram for autolabcli application. Update on this page.

  7. Refactor long unit and integration tests.

  8. Add / move validation to controllers.

  9. Update feature tests based on the logger module.

  10. Refactoring of socket.io into a wrapper module with timeouts for all socket events and also a list of allowed events for each socket event.

  11. Implement the following commands for admin of autolab servers (for now main server, but autolabcli need not concern itself with the name of the autolabjs component it is interacting with.
    autolabjs eval bulk --list <student_list>

    autolabjs init admin --ms

    autolabjs lab create
    autolabjs lab update
    autolabjs lab delete

  12. Implement the following commands
    autolabjs show labs #show active labs only
    autolabjs show labs -c <category> #categories are: scheduled, active, late, expired, all
    autolabjs show score -l <lab_name>
    autolabjs show score -l <lab_name> -i <student_id>
    autolabjs show time
    autolabjs show status

  13. nodegit is a node.js compatible wrapper for libgit2. We can use this library to integrate git functionality into autolabjs.

  14. Exception handling for all commands.

  15. Implement the following commands
    autolabjs eval team --list <student_team_csv>
    autolabjs admin restart -s <service_name>
    autolabjs admin stats -s <service_name>
    autolabjs admin logs -s <service_name>
    autolabjs admin install -f
    autolabjs admin install --check #deployment checks
    autolabjs admin uninstall
    autolabjs admin update
    autolabjs admin docker pull
    autolabjs admin docker load
    autolabjs admin docker pull
    autolabjs admin docker build -c <component_name>

    autolabjs init admin --gitlab #logs into the gitlab as admin

References

  1. mastering cli apps
  2. Mocking stdin and stdout in node
  3. Modular code structure in vorpal.js

Clone this wiki locally