Compare commits

...

4 commits

5 changed files with 24 additions and 18 deletions

View file

@ -1,4 +1,4 @@
# Kibicara Contribution HowTo # Ticketfrei Contribution HowTo
## Setup Development Environment ## Setup Development Environment
@ -10,7 +10,7 @@
3. Activate your dev environment with `source .venv/bin/activate` 3. Activate your dev environment with `source .venv/bin/activate`
4. Update pip packages with `pip install -U pip setuptools wheel` 4. Update pip packages with `pip install -U pip setuptools wheel`
5. Install with `pip install .` 5. Install with `pip install .`
6. Install development dependencies with `pip install tox black` 6. Install development dependencies with `pip install tox black pytest pytest-aiohttp`
7. Add git-hook to run test and stylecheck before commmit with 7. Add git-hook to run test and stylecheck before commmit with
`ln -s ../../git-hooks/pre-commit .git/hooks/pre-commit` `ln -s ../../git-hooks/pre-commit .git/hooks/pre-commit`
8. Add git-hook to check commmit message format with 8. Add git-hook to check commmit message format with
@ -19,8 +19,8 @@
#### Cheatsheet #### Cheatsheet
- Install Kibicara with `pip install .` - Install Ticketfrei with `pip install .`
- Execute Kibicara with `kibicara` (verbose: `kibicara -vvv`) - Execute Ticketfrei with `kibicara` (verbose: `kibicara -vvv`)
- Interact with Swagger REST-API Documentation: `http://localhost:8000/api/docs` - Interact with Swagger REST-API Documentation: `http://localhost:8000/api/docs`
- Test and stylecheck with `tox` - Test and stylecheck with `tox`
- Fix style issues with `black -S kibicara tests` - Fix style issues with `black -S kibicara tests`
@ -88,8 +88,8 @@ following pattern:
You can use these tags: You can use these tags:
- [core] Feature for Kibicara core - [core] Feature for Ticketfrei core
- [frontend] Feature for Kibicara frontend - [frontend] Feature for Ticketfrei frontend
- [$platform] Feature for platforms, e.g. - [$platform] Feature for platforms, e.g.
- [twitter] - [twitter]
- [telegram] - [telegram]
@ -140,6 +140,8 @@ development team.
- `model.py` - `model.py`
- `webapi.py` - `webapi.py`
2. Import your bot in `kibicara/webapi/__init__.py`. 2. Import your bot in `kibicara/webapi/__init__.py`.
3. Generate the FastAPI stuff
4. Generate the angular components for the kibicara-frontend from the FastAPI stuff
### Explanation ### Explanation
@ -170,7 +172,7 @@ To run the platform, you need to import the bot in
A bot should have at least this functionality: A bot should have at least this functionality:
- Kibicara REST API (hood admins): - Ticketfrei REST API (hood admins):
- Endpoint for creating a bot associated with a hood - Endpoint for creating a bot associated with a hood
- Endpoint for deleting a bot associated with a hood - Endpoint for deleting a bot associated with a hood
- Endpoint for updating a bot associated with a hood by id - Endpoint for updating a bot associated with a hood by id
@ -202,3 +204,5 @@ A bot should have at least this functionality:
- e.g. Twitter via posts or retweets - e.g. Twitter via posts or retweets
- e.g. Telegram via direct message from the bot - e.g. Telegram via direct message from the bot
- e.g. E-Mail via e-mail to the user's address - e.g. E-Mail via e-mail to the user's address
- Web Interface (hood admins)

View file

@ -3,6 +3,7 @@ Copyright (C) 2020 by Cathy Hu <cathy.hu@fau.de>
Copyright (C) 2020 by Christian Hagenest <c.hagenest@pm.me> Copyright (C) 2020 by Christian Hagenest <c.hagenest@pm.me>
Copyright (C) 2020 by Martin Rey <martin.rey@mailbox.org> Copyright (C) 2020 by Martin Rey <martin.rey@mailbox.org>
Copyright (C) 2020 by Maike <maike@systemli.org> Copyright (C) 2020 by Maike <maike@systemli.org>
Copyright (C) 2022 by missytake <missytake@systemli.org>
Permission to use, copy, modify, and/or distribute this software for any purpose Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted. with or without fee is hereby granted.

View file

@ -48,7 +48,7 @@ export const environment = {
- Build frontend with `cd kibicara/kibicara-frontend && ng build --prod` - Build frontend with `cd kibicara/kibicara-frontend && ng build --prod`
- Copy the generated frontend to your server to `/home/kibicara/kibicara-frontend`: `scp -r kibicara/kibicara-frontend/dist/kibicara-frontend <your_server>:/home/kibicara` - Copy the generated frontend to your server to `/home/kibicara/kibicara-frontend`: `scp -r kibicara/kibicara-frontend/dist/kibicara-frontend <your_server>:/home/kibicara`
### Configure Kibicara Core ### Configure Ticketfrei Core
- Write config file to `/etc/kibicara.conf` and replace the domain with yours: - Write config file to `/etc/kibicara.conf` and replace the domain with yours:
``` ```
database_connection = 'sqlite:////home/kibicara/kibicara.sqlite' database_connection = 'sqlite:////home/kibicara/kibicara.sqlite'
@ -59,7 +59,7 @@ frontend_url = 'https://kibicara.example.com'
#### SSL #### SSL
You can use the SSL stuff provided by hypercorn by generating an SSL Certificate and passing its paths to the config options `certfile` and `keyfile` in `/etc/kibicara.conf`. You can use the SSL stuff provided by hypercorn by generating an SSL Certificate and passing its paths to the config options `certfile` and `keyfile` in `/etc/kibicara.conf`.
### Configure Kibicara platforms ### Configure Ticketfrei platforms
#### Configure E-Mail (OpenSMTPd + Relay) #### Configure E-Mail (OpenSMTPd + Relay)
To send and receive e-mails (necessary for registration confirmation and e-mail bot) you will need an MTA. We use OpenSMTPd: To send and receive e-mails (necessary for registration confirmation and e-mail bot) you will need an MTA. We use OpenSMTPd:
@ -105,5 +105,5 @@ consumer_secret = '<your_consumer_secret>'
#### Configure Telegram #### Configure Telegram
Nothing to do, because telegram has a nice API. Nothing to do, because telegram has a nice API.
### Start Kibicara ### Start Ticketfrei
Run `kibicara` with your kibicara user. To have more verbose output add `-vvv`. Run `kibicara` with your kibicara user. To have more verbose output add `-vvv`.

View file

@ -1,9 +1,9 @@
![Angular Frontend](https://github.com/acipm/kibicara/workflows/Angular%20Frontend/badge.svg) ![Angular Frontend](https://git.0x90.space/ticketfrei/ticketfrei3/workflows/Angular%20Frontend/badge.svg)
![Python Backend](https://github.com/acipm/kibicara/workflows/Python%20Backend/badge.svg) ![Python Backend](https://git.0x90.space/ticketfrei/ticketfrei3/workflows/Python%20Backend/badge.svg)
# Kibicara # Ticketfrei 3
Kibicara relays messages between different platforms (= social networks). Ticketfrei relays messages between different platforms (= social networks).
In its web interface, a hood admin (= registered user) can create a hood to In its web interface, a hood admin (= registered user) can create a hood to
build a connection between different platforms. build a connection between different platforms.
@ -11,18 +11,18 @@ build a connection between different platforms.
Users can message a specific hood account on a specific platform (e.g. @xyz on Users can message a specific hood account on a specific platform (e.g. @xyz on
Telegram). This pushes the announcement to all platform accounts of a hood. Telegram). This pushes the announcement to all platform accounts of a hood.
For example: User A writes a message to @xyz on Telegram (which has been For example: User A writes a message to @xyz on Telegram (which has been
connected to Kibicara by a hood admin). This publishes the message on e.g. connected to Ticketfrei by a hood admin). This publishes the message on e.g.
Twitter and other platforms which have been connected to the hood. Twitter and other platforms which have been connected to the hood.
The admin of a hood has to define trigger words and bad words. Messages need to The admin of a hood has to define trigger words and bad words. Messages need to
contain a trigger word to be relayed, and must not contain a bad word. contain a trigger word to be relayed, and must not contain a bad word.
Kibicara needs to be hosted on a server by an instance maintainer. That way, Ticketfrei needs to be hosted on a server by an instance maintainer. That way,
hood admins don't need a server of their own. hood admins don't need a server of their own.
## Deploy Kibicara on a production server ## Deploy Ticketfrei on a production server
Read `DEPLOYMENT.md` to learn how to deploy Kibicara. Read `DEPLOYMENT.md` to learn how to deploy Ticketfrei.
## Contribute! ## Contribute!

View file

@ -29,5 +29,6 @@ setup(
'pytoml', 'pytoml',
'requests', 'requests',
'scrypt', 'scrypt',
'httpx',
], ],
) )