Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/IllumiDesk/illumidesk
IllumiDesk enhances your LMS with Jupyter Notebooks + Auto-Grading.
https://github.com/IllumiDesk/illumidesk
ansible canvas-lms docker docker-compose jupyter jupyterhub lti-tool nbgrader python
Last synced: 3 months ago
JSON representation
IllumiDesk enhances your LMS with Jupyter Notebooks + Auto-Grading.
- Host: GitHub
- URL: https://github.com/IllumiDesk/illumidesk
- Owner: IllumiDesk
- License: other
- Archived: true
- Created: 2020-04-06T22:01:35.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-05-05T16:11:57.000Z (over 2 years ago)
- Last Synced: 2024-07-07T20:23:20.464Z (4 months ago)
- Topics: ansible, canvas-lms, docker, docker-compose, jupyter, jupyterhub, lti-tool, nbgrader, python
- Language: Python
- Homepage: https://docs.illumidesk.com
- Size: 3.66 MB
- Stars: 42
- Watchers: 6
- Forks: 13
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-jupyter - IllumiDesk - Docker-based JupyterHub + LTI + nbgrader distribution for education. (Collaboration/Education)
README
[![Github actions badge](https://github.com/illumidesk/illumidesk/actions/workflows/docker.yaml/badge.svg)](https://github.com/illumidesk/illumidesk/actions/workflows/docker.yaml "Docker images build status")
[![codecov](https://codecov.io/gh/IllumiDesk/illumidesk/branch/main/graph/badge.svg)](https://codecov.io/gh/IllumiDesk/illumidesk)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![Code style black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)# IllumiDesk
This monorepo is used to maintain IllumiDesk's authenticators, spawners, and microservices. This setup assumes that all services are running with Kubernetes.
Please refer to our [help guides](https://support.illumidesk.com) for more information.## Overview
[Jupyter Notebooks](https://jupyter.org) are a great **education tool** for a variety of subjects since it offers instructors and learners a unified document standard to combine markdown, code, and rich visualizations. With the proper setup, Jupyter Notebooks allow organizations to enhance their learning experiences.
When combined with the [nbgrader](https://github.com/jupyter/nbgrader) package instructors are able to automate much of tasks associated with grading and providing feedback for their users.
## Why?
Running a multi-user setup using [JupyterHub](https://github.com/jupyterhub/jupyterhub) and `nbgrader` with `containers` requires some additional setup. Some of the questions this distribution attempts to answer are:
- How do we manage authentication when the user isn't a system user within the JupyterHub or Jupyter Notebook container?
- How do we manage permissions for student and instructor folders?
- How do we securely syncronize information with the Learning Management System (LMS) using the [LTI 1.1 and LTI 1.3](https://www.imsglobal.org/activity/learning-tools-interoperability) standards?
- How do we improve the developer experience to provide more consistency with versions used in production, such as with Kubernetes?
- How should deployment tools reflect these container-based requirements and also (to the extent possible) offer users an option that is cloud-vendor agnostic?Our goal is to remove these obstacles so that you can get on with the teaching!
## PrerequisitesKubernetes v1.17+.
## Quick StartThis setup only supports Kubernetes-based installations at this time. Refer to the [helm-chart](https://github.com/illumidesk/helm-chart) repo for installation instructions.
## Development Installation
Refer to the [contributing](./CONTRIBUTING.md) guide located in the root of this repo.
### Building the JupyterHubs
1. Build the JupyterHub for local testing with `docker-compose` or `docker`:
```bash
make build-hubs
```1. Build the JupyterHub for local testing with `Kubernetes`:
```bash
make build-hubs-k8
```
### General GuidelinesThis project enforces the [Contributor Covenant](./CODE_OF_CONDUCT.md). Be kind and build a nice open source community with us.
++
### LicensePlease refer to the included [license](./LICENSE) in this repository's root directory.