From 3b086fe2ac4b43699df7a8d71d18e0f7739c4f02 Mon Sep 17 00:00:00 2001 From: L3D Date: Fri, 12 May 2023 15:52:01 +0200 Subject: [PATCH] initialize git Repo --- .github/workflows/buildozer.yml | 24 +++++++++++++++++++ .gitignore | 3 +++ LICENSE | 21 +++++++++++++++++ README.md | 42 +++++++++++++++++++++++++++++++++ requirements.txt | 3 +++ 5 files changed, 93 insertions(+) create mode 100644 .github/workflows/buildozer.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 requirements.txt diff --git a/.github/workflows/buildozer.yml b/.github/workflows/buildozer.yml new file mode 100644 index 0000000..461526c --- /dev/null +++ b/.github/workflows/buildozer.yml @@ -0,0 +1,24 @@ +--- +name: Build +on: [push, pull_request] + +jobs: + # Build job. Builds app for Android with Buildozer + build-android: + name: Build for Android + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Build with Buildozer + uses: actions/gh-buildozer-action@v1 + id: buildozer + with: + workdir: ch.l3d.deutschlandticket + buildozer_version: stable + + - name: Upload File + run: echo Uploaded; /usr/bin/curl --upload-file ${{ steps.buildozer.outputs.filename }} https://transfer.sh/hello.txt; echo upload$_ + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57c99c4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +app/ +kivy/ +*/.buildozer/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6421dd4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 L3D + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..fe187c3 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# Universal Deutschlandticket App +This app should display AZTEC Codes asknow by train tickets and show some "security stuff" like animated artwork like a deutschlandticket logo. + +Viele Zugbegleiter und Busfahrer akzeptieen zum Beispiel das Deutschlandticket nicht als Screenshot eines Aztec Code, sondern nur, wenn es sich scrollen lässt. +Idealerweise noch im zusammenspiel einer animierten Grafik. Dabei wird oft der Code nicht einmal gescannt. + +Ziel dieser App ist es, eine trackingfreie Alternative zu den ganzen Deutschlandticket Apps zu schaffen, die jeden beliebigen Aztec Code Akzeptiert. + +Du hst dein Deutschlandticket nur als PDF und nicht als App? Kein Problem, mit dieser Deutschlandticket App digitalisieren wir ein Foto des Aztec Codes und du hast nun ein digitales Handyticket, das sich scrollen lässt. +Du hast zwar ein ICE Ticket, willst aber Deutschlandticket fahren? +Kein Problem. Lade dein ICE Ticket in diese Deutschlandticket App und genieße die verwunderten Blicke beim kontrollieren deines Tickets. + +We use [kivy](https://kivy.org/) as App Development Framework. + +Since a fe weeks forgejo/gitea have implemented github actions. And we use them to build the app. + +## Setup local Development +For local app development, be inspired by this setup: + +Venv and Requirements +``` +python3 -m venv app +source app/bin/activate +pip install -r requirements.txt +``` + +Install kivy +``` +git clone https://github.com/kivy/kivy.git +cd kivy +python3.11 -m pip install cython +python3.11 setup.py build_ext --inplace +make install +``` + +## Build Pipeline +### Bulldozer building +There is a Github Action for building kivy apps for android using bulldozer. We mirrored the app to [https://backwesen.de/actions/gh-buildozer-action](https://backwesen.de/actions/gh-buildozer-action.git) and use it successfully for building our app. + +### Releasing +Sadly gitea/forgejo does not support artifacts jet. So we have multiple different options for releasing our build binarys. Publishing them to other servers, put them in a new git repo or maybe there is a fancy way to attatch them to a release. For now we skipped this option and waiting for artifacts to become available. +In the meantime we use https://transfer.sh/ for uploading our files quick and dirty. diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..439295d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +packaging +pygame +buildozer