Skip to main content

A Django app to manage members, topics and more in an academic community

Project description

django-academic-community is a representation of an academic community on the web using Django.

Some more documentation is in the “docs” directory, but we are working on improving this.

Quick start for development

  1. You need at least python 3.7, postgres and pip installed

  2. Clone this repository:

    git clone https://gitlab.hzdr.de/hcdc/django/django-academic-community.git
    cd django-academic-communty
  3. Install the packages (in development mode):

    pip install .[dev]
  1. By default, we assume that there exists a django_academic_community database that is writeable for a user name django_academic_user with password admin. But you can change this with environment variables (see settings.py). Run:

    python manage.py migrate

    to setup the database.

  2. Install the packages for the JS and CSS files:

    npm install
  3. Build the JS and CSS files:

    make css
    make js
  4. Create a superuser via:

    python manage.py createsuperuser
  5. Run the local development server via:

    python manage.py runserver

    Open the topic browser at http://127.0.0.1:8000/topics, and the admin site at http://127.0.0.1:8000/admin

Building the docs

There is some static files generated via sphinx, together with an API documentation. The source code for this documentation is in the docs folder. If you installed this package with the above pip install command, you already have everything you need. The only thing that you should have installed already is graphviz (e.g. via conda install graphviz).

Navigate to the docs folder and run make html (on linux) or make.bat html on windows and open the file at docs/_build/html/index.html in your browser.

Some of the documentation in this content is also available through the admin docs. When you run the server (python manage.py runserver), navigate to the docs under http://127.0.0.1:8000/admin/docs.

Note that there is still a lot to work on for the documentation, so in case you are missing something, please do not hesitate to ask.

Running the tests

Just run tox (you installed it with pip install .[dev]). Note that you will need a running postgres server and a user with the rights to create a new postgres database.

Contributing

We are working on a more detailed contributing guide, but here is the short version:

When you want to contribute to the code, please do clone the source code repository and install it with the [dev] extra, i.e.

git clone https://gitlab.hzdr.de/hcdc/django/clm-community/django-academic-community/
cd django-academic-community
pip install -e .[dev]

We use automated formatters (see their config in pyproject.toml and setup.cfg), namely

  • Black for standardized code formatting

  • blackdoc for standardized code formatting in documentation

  • Flake8 for general code quality

  • isort for standardized order in imports.

  • mypy for static type checking on type hints

We highly recommend that you setup pre-commit hooks to automatically run all the above tools every time you make a git commit. This can be done by running

pre-commit install

from the root of the repository. You can skip the pre-commit checks with git commit --no-verify but note that the CI will fail if it encounters any formatting errors.

You can also run the pre-commit step manually by invoking

pre-commit run --all-files

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

django-academic-community-0.0.1.dev0.tar.gz (827.5 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file django-academic-community-0.0.1.dev0.tar.gz.

File metadata

File hashes

Hashes for django-academic-community-0.0.1.dev0.tar.gz
Algorithm Hash digest
SHA256 ee24c27fc67543c23c8f44069fb79f18bd0cb0b5d7389279015347ad12efa2de
MD5 33feb3f5066a0e1bb33984b76b942a5f
BLAKE2b-256 ab9746b2a2f40c25565e869baafeb7f29407da1fe690863e6e7cd25699e47454

See more details on using hashes here.

File details

Details for the file django_academic_community-0.0.1.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_academic_community-0.0.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 3716ec459184006644f608f0ac0dd0a7dbd729ea5b123ca76315fd3b258e5653
MD5 44e0f5355515bcf508350e0fd297b0d3
BLAKE2b-256 022cb4b72d8e2d4b9690230bbdbd9b0f946a94601361b82fb054e416d79f5b80

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