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.gitcp .env.sample .env
nano .envpipenv installpipenv shellpython manage.py migratepython manage.py collectmediapython manage.py loaddata circles.json emoji-groups.json emojis.json badges.json categories.jsonFor local API development it suffices to bind the server to localhost:
python manage.py runserverFor app development you have to bind the server to your local network:
python manage.py runserver 0.0.0.0:8000Creates 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