Skip to content
EVogel1999 edited this page Dec 15, 2020 · 2 revisions

Welcome to the Clark client wiki! This wiki's purpose is to provide an understanding of the structure of the frontend, how pull requests are organized, and where certain pages or functionality are located.

Frontend Modules

There are a few frontend angular modules that are used to effectively break up functionality and reduce coupling between components.

Admin

The admin module holds all of the frontend code for the admin, curator, editor, and reviewer dashboard. This is where these privileged users can edit, revise, or release a learning object. For admins and curators, this is also where they can update another user's privileges so they can be a part of the release or revision pipeline of a learning object.

Auth

The auth module holds all of the frontend code for login, account creation, resetting password, etc.

Collection

As of December 15, 2020, this module is still a work in progress but its main purpose will be to customize and modularize the existing collection pages that exist in the cube module.

Core

Core is not an angular module but it is very important. The core folder contains all of the higher-level services that are used in various modules. Modules like onion may need module-specific services that other modules don't need, the core folder is intended to be generic services that all modules may need access to.

Cube

The cube module holds all of the frontend code for non-privileged users (i.e. content consumers) on the client. This includes pages like the browse, learning object details, library, and user profile page. This module does not include the logic for creating and managing your own learning objects, that is the purpose of the onion module.

Onion

The onion module holds all of the frontend code for content contributors on the platform. This includes logic to create, update, manage, delete, or submit a learning object for review. Its primary function is the learning object builder form, which contains logic for automatic saving and file uploading.

Shared

The shared module holds all of the custom frontend components, directives, or pipes that are used throughout multiple modules. This includes logic for popup, side-panel, toasts, and much more.

Clone this wiki locally