Metadata-Version: 2.1
Name: bma
Version: 0.2.0a1
Summary: BornHack Media Archive Django project
Author: Thomas Steen Rasmussen
Author-email: thomas@gibfest.dk
Project-URL: homepage, https://github.com/bornhack/bma
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: demoji==1.1.0
Requires-Dist: Django==5.1.3
Requires-Dist: django-allauth[socialaccount]==65.2.0
Requires-Dist: django-bootstrap5==24.3
Requires-Dist: django-cors-headers==4.6.0
Requires-Dist: django-decorator-include==3.2
Requires-Dist: django-filter==24.3
Requires-Dist: django-guardian==2.4.0
Requires-Dist: django-htmx==1.21.0
Requires-Dist: django-ninja==1.3.0
Requires-Dist: django-oauth-toolkit==3.0.1
Requires-Dist: django-pictures==1.3.3
Requires-Dist: django-polymorphic==3.1.0
Requires-Dist: django-stubs-ext==5.1.1
Requires-Dist: django-tables2==2.7.0
Requires-Dist: django-taggit==6.1.0
Requires-Dist: environs[django]==11.2.0
Requires-Dist: fontawesomefree==6.6.0
Requires-Dist: orjson==3.10.11
Requires-Dist: psycopg2-binary==2.9.10
Provides-Extra: dev
Requires-Dist: pre-commit==4.0.1; extra == "dev"
Requires-Dist: setuptools_scm==8.1.0; extra == "dev"
Provides-Extra: test
Requires-Dist: beautifulsoup4==4.12.3; extra == "test"
Requires-Dist: coverage==7.6.7; extra == "test"
Requires-Dist: django-debug-toolbar==4.4.6; extra == "test"
Requires-Dist: factory-boy==3.3.1; extra == "test"
Requires-Dist: pytest-django==4.9.0; extra == "test"
Requires-Dist: pytest-cov==6.0.0; extra == "test"
Requires-Dist: pytest-randomly==3.16.0; extra == "test"
Requires-Dist: tox==4.23.2; extra == "test"

[![Run Tox CI](https://github.com/bornhack/bma/actions/workflows/tox.yml/badge.svg?branch=develop)](https://github.com/bornhack/bma/actions/workflows/tox.yml)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![codecov](https://codecov.io/gh/bornhack/bma/graph/badge.svg?token=AN3NmaCDAr)](https://codecov.io/gh/bornhack/bma)

# bma
BornHack Media Archive

## What
The BornHack Media Archive is a site for sharing pictures and video from BornHack events. It uses the BornHack website oauth2 provider for login.

## How
> Note! The server is using database functions not compatible with sqlite. Use postgresql instead.


* Copy `bma/environment_settings.py.dist` to `bma/environment_settings.py` and either edit it directly, or use .env file or environment variables to configure.
    * Set `OAUTH_SERVER_BASEURL` to point to a local instance of the BornHack website eg. `http://127.0.0.1:8000`, or leave it pointing at the prod bornhack.dk server.
* Create an oauth app on the BornHack instance you specified in `OAUTH_SERVER_BASEURL`:
    * login to the BornHack instance and go to the url `OAUTH_SERVER_BASEURL/o/applications`.
    * register a new app.
    * client type `confidential`
    * grant type `authorization code`
    * redirect uri's `BMA_BASEURL/accounts/bornhack/login/callback/` eg. `http://127.0.0.1:8001/accounts/bornhack/login/callback/`.
* Run `manage.py migrate`
    * If you get a database error about missing 'gist', you need to run `create extension btree_gist;` on your postgresql instance.
* Run `manage.py createsuperuser` to create a local database user in the BMA instance
* Log in with the superuser and add a social app on the BMA admin website using the client id and secret from the bornhack website used in the above step.
* Move `example.com` to `chosen sites`.


It should now be possible to login to BMA using a BornHack account.
