Skip to main content

A self-hosted discussion forum for learning

Project description

Ashley, a self-hosted discussion forum for learning

Overview

Ashley is a forum designed to be integrated into Learning Management Systems (LMS).

It is a multi-tenant service intended to be operated independently. It can be integrated to any LMS (like Open edX or Moodle), thanks to the LTI standard.

Ashley is built on top of Django-machina, a powerful forum engine for Django.

Quick preview

Here is an example integration of Ashley in Open edX:

demo

Contributing

This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions.

We try to raise our code quality standards and expect contributors to follow the recommandations from our handbook.

License

This work is released under the MIT License (see LICENSE).

Getting started

Make sure you have a recent version of Docker and Docker Compose installed on your laptop:

$ docker -v
  Docker version 18.09.0, build 4d60db4

$ docker-compose --version
  docker-compose version 1.23.2, build 1110ad01

⚠️ You may need to run the following commands with sudo but this can be avoided by assigning your user to the docker group.

Project bootstrap

The easiest way to start working on the project is to use our Makefile :

$ make bootstrap

This command builds the app container, installs front-end and back-end dependencies, builds the front-end application and styles, and performs database migrations. It's a good idea to use this command each time you are pulling code from the project repository to avoid dependency-related or migration-related issues.

Now that your Docker services are ready to be used, start the service by running :

$ make run

You should be able to test the forum at http://localhost:8090/dev/. This is the development view that emulates a LTI consumer.

Django admin

You can access the Django admin site of the forum at http://localhost:8090/admin/

You first need to create a superuser account.

$ make superuser

Troubleshooting

ElasticSearch service out with an Exit 137

$ docker-compose ps

ashley_elasticsearch_1 /docker-entrypoint.sh elas ... Exit 137

This is due to a lack of memory. N.B. for Mac users, the default Docker's configuration is also 2GB which means that Elasticsearch will automatically exit.

To fix this issue, you need to upgrade your default configuration.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ashley-1.2.2.tar.gz (2.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ashley-1.2.2-py2.py3-none-any.whl (2.8 MB view details)

Uploaded Python 2Python 3

File details

Details for the file ashley-1.2.2.tar.gz.

File metadata

  • Download URL: ashley-1.2.2.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.12

File hashes

Hashes for ashley-1.2.2.tar.gz
Algorithm Hash digest
SHA256 991697b5bc7c00dc0819b3300d430e084f7db6e2e3dd99f9e740c806290f054c
MD5 13116d8bf14a02719d7ec025227a7b55
BLAKE2b-256 c2e53238ef849549c8137632a44274987bcb5472edfd386513ef17956bc6611e

See more details on using hashes here.

File details

Details for the file ashley-1.2.2-py2.py3-none-any.whl.

File metadata

  • Download URL: ashley-1.2.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.12

File hashes

Hashes for ashley-1.2.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b271780c1d0cafa2d470b645fcdeba3add7047ce0a905ef480de676a71f18ef3
MD5 e46f1df990d4af9e35c25c44d284b686
BLAKE2b-256 c866b8bb21ae154c64fd792ad13cd51546b5944e10d744203cd494f821f42a66

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page