Skip to content

A student platform for ULB focused on real student collaboration


Notifications You must be signed in to change notification settings


Repository files navigation



DocHub is a website, written in django. It's main goal is to provide a space for students (for now form the ULB university) to collaborate, help each other and distribute old exams and exercices.

There is a live instance of DocHub hosted by UrLab and the Cercle Informatique.



DocHub currently (Feb 2022) runs with Python 3.10 and Postgresql 14.


# Ubuntu
sudo apt-get install unoconv python3-dev ruby libtiff5-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk mupdf-tools redis-server
sudo systemctl enable --now redis-server
# Fedora
sudo dnf install unoconv python-devel ruby mupdf redis
sudo systemctl enable --now redis
# Arch linux
sudo pacman -S unoconv ruby python mupdf-tools redis
sudo systemctl enable --now redis


If you install the packages listed above and follow the installation steps exactly, you should have a running version of DocHub on your machine. If it's not the case, you are not the problem, it means we have a bug.

Please open an issue with the output of your console and describe the problem you encountered, we will and will fix it for you and the all the next users 🚀

To create the virtual environment and install the requirements, run the following command:

make install

# Alternatively, if you prefer to do it by hand
python3 -m venv ve
source ve/bin/activate
pip install -r requirements.txt

To create a database and fill it with some dummy data, run the following command. Observe the output, it will tell you the credentials you can then use to log in.

make database


This will have to be done each time you want to run DocHub.

source ve/bin/activate
./ runserver

Then go http://localhost:8000/

There will already be 2 users in the database, both with test as a password:

  • $(USER) : your username on your machine
  • blabevue


Add another user to the db

./ createuser


To add a requirement, write it in file, and generate the requirements.txt file with the following command



Run only fast tests (total time < 2 sec) : not testing actual file conversions

py.test -k "not slow"

Run all tests (~20 sec)


Contribute !

Newcomer ? 👶

Check the issues tab and look and the issues tagged with the easy pick label. These are issues that are easy to fix and that will help you get started with the project. Once you feel comfortable with the codebase, you can tackle other issues.


Assign yourself to an issue and start working on it in your own branch. If you have any questions or issue, feel free to ask them in the issue or tag some people you know can help.
If your PR is completed, ask for reviews either by mentioning the people you want to review your PR (You can also set them as reviewers on the right) or by asking on our irc channel #urlab on

Any question ?

Come by #urlab on and feel free to ask anything !


Copyright 2012 - 2022, Cercle Informatique ASBL. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This software was made by hast, C4, ititou and rom1 at UrLab ( ULB's hackerspace

Woop woop