The API server for Openbook.
The project is a Django application.
There are many different ways to contribute to the website development, just find the one that best fits with your skills and open an issue/pull request in the repository.
Examples of contributions we love include:
- Code patches
- Bug reports
- Patch reviews
- Translations
- UI enhancements
Please read and follow our Code of Conduct.
Every contribution accepted is licensed under AGPL v3.0 or any later version. You must be careful to not include any code that can not be licensed under this license.
Please read carefully our license and ask us if you have any questions.
Cyber-hero? Check out our Vulnerability Disclosure page.
We're available almost 24/7 in the Openbook slack channel. Join us!
Help us keep the repository history consistent π!
We use gitmoji as our git message convention.
If you're using git in your command line, you can download the handy tool gitmoji-cli.
git clone git@github.com:OpenbookOrg/openbook-api.git
cp .env.sample .env
nano .env
pipenv install
pipenv shell
python manage.py migrate
python manage.py collectmedia
python manage.py loaddata circles.json emoji-groups.json emojis.json badges.json categories.json
For local API development it suffices to bind the server to localhost:
python manage.py runserver
For app development you have to bind the server to your local network:
python manage.py runserver 0.0.0.0:8000
Creates a user invite and outputs its token. Required for creating a new account.
usage: manage.py create_invite [-h] [--email EMAIL] [--username USERNAME] [--name NAME] [--badge BADGE]
You probably installed openssl via Homebew, make sure to follow the instructions that are given when you type brew info openssl
.
The local development server runs a separate process for the auto-reloader. You can turn off the auto-reload process by passing the --noreload flag.
python manage.py runserver --noreload