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
You need at least python 3.7, postgres and pip installed
Clone this repository:
git clone https://gitlab.hzdr.de/hcdc/django/django-academic-community.git cd django-academic-communty
Install the packages (in development mode):
pip install .[dev]
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.
Install the packages for the JS and CSS files:
npm install
Build the JS and CSS files:
make css make js
Create a superuser via:
python manage.py createsuperuser
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
Copyright
Copyright © 2021 Helmholtz-Zentrum Hereon, 2020-2021 Helmholtz-Zentrum Geesthacht
Licensed under the EUPL-1.2-or-later
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the EUPL-1.2 license for more details.
You should have received a copy of the EUPL-1.2 license along with this program. If not, see https://www.eupl.eu/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-academic-community-0.0.1.dev0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee24c27fc67543c23c8f44069fb79f18bd0cb0b5d7389279015347ad12efa2de |
|
MD5 | 33feb3f5066a0e1bb33984b76b942a5f |
|
BLAKE2b-256 | ab9746b2a2f40c25565e869baafeb7f29407da1fe690863e6e7cd25699e47454 |
Hashes for django_academic_community-0.0.1.dev0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3716ec459184006644f608f0ac0dd0a7dbd729ea5b123ca76315fd3b258e5653 |
|
MD5 | 44e0f5355515bcf508350e0fd297b0d3 |
|
BLAKE2b-256 | 022cb4b72d8e2d4b9690230bbdbd9b0f946a94601361b82fb054e416d79f5b80 |