Skip to content

Latest commit

 

History

History
109 lines (72 loc) · 4.94 KB

README.md

File metadata and controls

109 lines (72 loc) · 4.94 KB

Secret Project 331

Secret Project 331 is a Learning Management System (LMS) developed by the MOOC Center of the University of Helsinki. It's deployed at https://courses.mooc.fi. This document contains technical information intended for developers. If you're not a developer, you might find these links helpful instead:

  • To learn more about the courses, visit https://www.mooc.fi.
  • For teacher documentation, refer to the Wiki tab in this repository.

Development Environment Setup

To begin development on Secret Project 331, set up your local environment by following the instructions in Development.md, which covers setup on Windows, Linux, and macOS.

Code Style

In this project, code style is enforced with automatic tools. To ensure your contributions follow the project's code style, you need to set up pre-commit hooks and configure your editor.

Setting Up Pre-Commit Hooks

Run npm ci in the repository root to install the necessary tools:

$ cd Code/secret-project-331/
$ npm ci

This will install lint-staged, which ensures that your code passes some basic code style checks before committing.

When you're ready to perform a comprehensive code style check (note: this may take some time), use:

bin/git-run-branch-ready-checks

Configuring Your Editor

Visual Studio Code

To configure Visual Studio Code for this project, open it in the repository root with the pre-configured workspace:

$ cd Code/secret-project-331/
$ bin/code

The bin/code command automatically opens the project with recommended settings.

After opening, install the recommended extensions prompted in the bottom right corner:

Recommended extensions popup

Once installed, these settings will enable your editor to:

  • Automatically display code style issues.
  • Automatically fix some issues when saving files.

Documentation

Documentation for teachers is located in the Wiki tab of this repository. The documentation within the repository itself is intended for developers only.

Technical Documentation

For additional developer documentation, see the docs folder in the repository.

Development Resources

Below are essential resources, conventions, and courses to support development on this codebase. Familiarize yourself with these resources before beginning work.

Frontend Development

Deployment Resources

Backend Development

License

The program in the services/cms folder is licensed under GPL-3.0-only.

All other parts of the codebase are licensed under Apache-2.0.