Thanks to visit codestin.com
Credit goes to github.com

Skip to content

DISCONTINUED Course building CI tool for A+

License

apluslms/shepherd

Repository files navigation

Shepherd

The next generation course building CI tool for A+

Architecture

Keep updating...

architecture

Project Formation

Auth

  • Get access to Shepherd from A+ using Oauth. ( Get signal from flask-lti-login and authenticate user).
  • model: User

Groups

  • Group users, grant user different privileges and permissions according to the group.
  • Tree-like structure. Example: Aalto → CSI → CS → Programming_1.
  • model:
    • Group: many-to-many relationship with User.
    • GroupPermission: the permission types of Group. Currently two types: (create) subgroups, (create) courses.
    • CreateGroupPerm: the permission of groups for creating (sub)groups. field group is the group with the (create) subgroups permission; field target_group is the group which group can create subgroups under.
    • CreateCoursePerm: the permission of groups for creating courses. the field pattern defines the prefix that the course key should follow.
    • ManageCoursePerm: the permission for managing courses. The owner roles of a course include admin and assistant.

Courses

  • Course management interface
  • To create new courses, the user needs to be in a group with the (create) courses permission.
  • model: CourseInstance

Build

  • Record the build processes of courses
  • model: Build, BuildLog

Repos

  • SSH key management
  • model: GitRepository

Webhooks

Handle push webhook in GitHub or Gitlab.

Celery Tasks

  • build

    Define Build tasks, define automated pipeline (pull/clone->build->deploy->clean).

  • repos - deploy key

    • Define background task for deploy key pair generation.
    • Define the scheduled task for key validation.

Message Broker

Message broker for updating frontend statues display in realtime, and also routing realtime log output to frontend.

About

DISCONTINUED Course building CI tool for A+

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •