Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mitodl/mitxonline


https://github.com/mitodl/mitxonline

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

        

# mitxonline
MITx Online

**SECTIONS**
1. [Initial Setup](#initial-setup)

# Initial Setup

mitxonline follows the same [initial setup steps outlined in the common OL web app guide](https://mitodl.github.io/handbook/how-to/common-web-app-guide.html).
Run through those steps **including the addition of `/etc/hosts` aliases and the optional step for running the
`createsuperuser` command**.

### Configure mitxonline and Open edX

See MITx Online integration with edx:
- [Using Tutor](https://github.com/mitodl/handbook/tree/master/openedx/MITx-edx-integration-tutor.md) (Recommended)
- [Using Devstack](https://github.com/mitodl/handbook/tree/master/openedx/MITx-edx-integration-devstack.md) (Deprecated)

# Running, testing, and administering the app

Running, testing, and administering this app follows the same patterns as our other web apps.

*Note: for js tests, run the commands in `frontend/public`, or run via `yarn workspaces foreach run ` from the root.

[See the common OL web app guide](http://mitodl.github.io/handbook/how-to/common-web-app-guide.html#running-and-accessing-the-app).

# Certificates

In order to manage the certificates, follow these steps:

* Create Signatories (In CMS, go to Pages-> HomePage -> Signatories and then add child pages). Signatories are independent of courses and a signatory can be used with any number of certificates
* Create Certificate Template (In CMS, go to Pages -> Courses -> (Your Course Page) and add a certificate child page). Note that this is course based which means you need to create separate templates for each course
* User certificates are automatically created through a regular task, but you can test these by adding manual entries in CourseRunCertificate model (This is only recommended for local testing because it will make the data inconsistent with payment and grades)

# Updating python dependencies

Python dependencies are managed with poetry. If you need to add a new dependency, run this command:

```
docker compose run --rm web poetry add
```
This will update the `pyproject.toml` and `poetry.lock` files. Then run `docker-compose build web celery` to make the change permanent in your docker images.
Refer to the [poetry documentation](https://python-poetry.org/docs/cli/) for particulars about specifying versions, removing dependencies, etc.