This is the backend of Graphery. It provides the database storage for all tutorials, networks, code, and pre-compiled execution results. GraphQL API is used to support communication with the frontend.
The backend is still under development and testing.
There is a pre-configured test environment located under setups/test-env/
. It is built with Docker and therefore docker has to be present to run it. However, you can use it without docker if can setup Postgresql and Redis locally, and modify the Django settings accordingly.
The project requirement is managed by Poetry. The current requirement needs the latest beta of poetry so you need to use poetry self update --preview
to update it. Once that's set, you can follow the commands below.
poetry install --with dev
mkdir -p ./setups/test-env/volumes/postgre-data
mkdir -p ./setups/test-env/volumes/redis-data
docker-compose -f ./setups/test-env/docker-compose.yml up --build -d
poetry run python ./graphery/manage.py migrate
poetry run python ./graphery/manage.py runserver
Some features like providing remote execution will need the GrapheryExecutor
server module. Please check out the README of that repository for more information.
There are pre-configured run commands located under .run/
and PyCharm can identify and list them in its interface. Click run dev
Django server will do the same thing.
Please follow the instructions provided by Django and setup production Postgresql and Redis environment accordingly. More project specific instructions will be updated soon.
The documentations are located here. It's still under development, so many things are not documented yet.
Please don't be hesitating to report bugs or feature requests through the Issues page. For more urgent/private reports like security risks, please send emails to here.
Please run pre-commit
to check the code style before committing. More specific code conduct, style guidelines, and CI will be provided in the future.