From 494807755ba76802975c0840d1cd7d92684893b0 Mon Sep 17 00:00:00 2001 From: BalazsManus Date: Tue, 25 Feb 2025 20:17:47 +0100 Subject: [PATCH] create full building guide --- CONTRIBUTING.md | 61 +++++++++++++++++++++++++++++++++++++-------- README.md | 44 +++----------------------------- fix-pub.bat | 18 +++++++++++++ refilc/build-ipa.sh | 2 +- refilc/build.bat | 1 + 5 files changed, 74 insertions(+), 52 deletions(-) create mode 100644 fix-pub.bat create mode 100644 refilc/build.bat diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2a8f7b73..d292aa8b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,15 +1,15 @@ -# Contribution guide (Hozzájárulási útmutató) -Köszönjük, ha programozással segíted a munkánkat! -A folytatáshoz szükséged lesz egy MacOS-t, Linux-ot vagy Windows-t futtató számítógépre, minimális programozási tapasztalatra és egy kis angoltudásra. -Segít, ha már gyakorlottabb vagy a programozásban, és ha ismered a [Git](https://git-scm.com/) és a [GitHub](https://github.com/) működését. ;) +# Hozzájárulási útmutató +Köszönjük, ha programozással segíted a munkánkat!\ +A folytatáshoz szükséged lesz egy MacOS-t, Linux-ot vagy Windows-t futtató számítógépre, minimális programozási tapasztalatra és egy kis angoltudásra.\ +Segít, ha már gyakorlottabb vagy a programozásban, és ha ismered a [Git](https://git-scm.com/) működését. ;) ## Miben segítsek? -Kérünk, **olyan dologgal járulj hozzá** a **Firká**hoz, ami valószínűleg **sok embernek hasznos lehet**. Szeretnénk egy minél teljeskörűbb iskolai asszisztenst létrehozni, de az iskolaspecifikus, vagy külön neked hasznos funkciók helye inkább legyen a saját Fork-od. +Kérünk, olyan dologgal járulj hozzá a **Firká**hoz, ami valószínűleg **sok embernek hasznos lehet**. Szeretnénk egy minél teljeskörűbb iskolai asszisztenst létrehozni, de az iskolaspecifikus, vagy külön neked hasznos funkciók helye inkább legyen a saját Fork-od. Fontos, hogy **mielőtt egy nagyobb méretű projektbe belekezdenél, futtasd meg ötletedet a [Discord szerverünkön](https://discord.gg/6DvjyPAw2T)**, ahol még azelőtt tudunk tanácsot adni, hogy sok-sok órát beleöltél volna egy esetleg felesleges dologba. -A legjobban annak örülünk, ha az [Issues](https://github.com/QwIT-Development/app-legacy/issues) oldalról szemezgetsz. Ha még új vagy a Flutterben, ajánljuk figyelmedbe ezeket a [viszonylag könnyen javítható hibákat](https://github.com/QwIT-Development/app-legacy/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22), ha éppen van ilyen. +A legjobban annak örülünk, ha az [Issues](https://github.com/QwIT-Development/app-legacy/issues) oldalról szemezgetsz. Ha még új vagy a Flutterben, ajánljuk figyelmedbe a viszonlyak könnyen javítható hibákat, ha éppen van ilyen. ## Hogyan segítsek? Nem ígérhetünk itt sem programozás-, sem Git-kurzust, de a projektspecifikus dolgokat leírjuk, és segítünk a Flutter telepítésében. @@ -18,18 +18,57 @@ A **Firka** a Google által pár éve létrehozott **[Flutter](https://flutter.d Ha még nem használtad a Flutter-t, mindenképp böngészd át a [YouTube csatornájukat](https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw). Kód vagy UI teszteléséhez Flutter telepítése nélkül is használhatod a [DartPad](https://dartpad.dev/)-et. -#### [Segítség a Flutter telepítéséhez](https://docs.flutter.dev/get-started/install) -**Használd a Flutter stable verzióját!** Írd be a terminálba: `flutter channel stable` +### Segédlet a flutter telepítéshez +Az alkalmazással kompatibilis flutter verziót (**3.27.1**) itt találod: +- [Windows](https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.27.1-stable.zip) +- [Linux](https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.27.1-stable.tar.xz) +- [MacOS x64](https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_3.27.1-stable.zip) +- [MacOS arm64](https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_3.27.1-stable.zip) -Ha nem értessz a Git-hez vagy a GitHub-hoz, ajánljuk figyelmedbe [ezt a cikket](https://medium.com/envienta-magyarorsz%C3%A1g/git-%C3%A9s-github-gyorstalpal%C3%B3-f2d78a732deb), viszont arra kérünk, hogy a használatukat ne a **Firká**n próbáld ki először. Hozz létre egy saját Repo-t és abban tesztelgess. Ha már nagyjából kitapasztaltad, várjuk hozzájárulásodat. +Ha nem értesz a Git-hez, akkor olvasd el a következő [cikket](https://freedium.cfd/https://medium.com/envienta-magyarorsz%C3%A1g/git-%C3%A9s-github-gyorstalpal%C3%B3-f2d78a732deb), viszont arra kérünk, hogy tapasztalataidat először egy új repoban próbáld ki. Ha már nagyjából értesz a Githez, akkor várjuk hozzájárulásodat. Készíts egy Fork-ot a saját GitHub fiókod alá. -A **Firka** legfrissebb, **épp fejlesztés alatt álló verzióját a [master](https://github.com/QwIT-Development/app-legacy)-en találod**. Kérjük ide Commit-olj és ide célozd a Fork-odból a Pull Request-edet. Írd le benne, hogy mit változtattál és ha lehet, csatolj képernyőképet is. +A **Firka** legfrissebb, verzióját a [master](https://github.com/QwIT-Development/app-legacy)-en találod. Kérjük ide Commit-olj és ide célozd a Fork-odból a Pull Request-edet. Írd le benne, hogy mit változtattál és ha lehet, csatolj képernyőképet is a működő építésedből.\ Minél gyakrabban készíts minél részletesebben elnevezett Commit-okat, hogy mások is el tudjanak igazodni az általad beküldött kódban. +### Segédlet az app építéséhez + +1. Forráskód letöltése: + ```sh + git clone https://github.com/QwIT-Development/app-legacy.git + cd app-legacy + ``` + +2. Csomagok telepítése:\ + Windowson futtasd a következő scriptet: `fix-pub.bat`\ + Linuxon és MacOS-en pedig ezt: `fix-pub.sh` + +3. Java feltelepítése\ + Az app nem tud megépülni, ha nincs telepítve **JDK 17**.\ + Töltsd le innét a [JDK-t](https://adoptium.net/temurin/releases/?version=17&package=jdk) és telepítsd fel.\ + (Ne felejtsd el kiválasztani a rendszeredet és a architektúrát) + +4. Signkey generálása:\ + A `refilc/android` mappában futtasd a következő parancsot: `keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key`\ + Majd töltsd ki a `key.properties` fájlt a következővel: + ```properties + storePassword= + keyPassword= + keyAlias=key + storeFile=key.jks + ``` + Majd ezt a fájlt másold le és illeszd be ebbe is: `debugkey.properties`\ + **FONTOS:** A `key.jks` és a `key.properties` fájlokat ne tedd közzé! + +5. Az alkalmazás építése:\ + Menj be a `refilc` mappába + - Ha Androidra építesz, futtasd windowson a `build.bat`-ot, Linuxon és MacOS-en pedig a `build.sh`-t.\ + - Ha iOS-re építesz, akkor futtasd a `build-ipa.sh`-t.\ + **FONTOS:** Az iOS építéshez szükséged lesz egy MacOS rendszerre és egy Apple fejlesztői fiókra. + --- -Az általad fejlesztett funkciók mellé a Changelog-ba odakerül a GitHub felhasználóneved. +Az általad fejlesztett funkciók mellé a Változásnaplóba bekerül a GitHub felhasználóneved.\ Ha jelentős és rendszeres hozzájáruló vagy, Discord-on megkaphatod a `Contributor` rangot! Ha bárhol elakadtál vagy kérdésed van, keress bátran Discord-on! diff --git a/README.md b/README.md index 1eda0ac5..9c081d1f 100644 --- a/README.md +++ b/README.md @@ -9,48 +9,12 @@ [![Downloads](https://img.shields.io/github/downloads-pre/QwIT-Development/app-legacy/total?&logo=github&label=Downloads)](https://github.com/QwIT-Development/app-legacy/releases)   [![Discord](https://img.shields.io/discord/1111649116020285532?logo=discord&label=Discord)](https://discord.gg/6DvjyPAw2T) -## Környezet felállítása +### Hozzájárulás -### Flutter beállítása +Építési segédlethez és hozzájárulási útmutatóhoz +**nézd meg a [Hozzájárulási útmutató](CONTRIBUTING.md)t!** -Az alkalmazás építéséhez a Flutter **3.27.1**-es változatára lesz szükséged. - -- [Windows](https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_3.27.1-stable.zip) -- [Linux](https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.27.1-stable.tar.xz) -- [MacOS x64](https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_3.27.1-stable.zip) -- [MacOS arm64](https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_arm64_3.27.1-stable.zip) - -### Forráskód letöltése - -```sh -git clone https://github.com/QwIT-Development/app-legacy.git -cd app-legacy -``` - -### Csomagok telepítése - -Menj be minden mappába és futtasd a következő parancsokat: -```sh -flutter clean -flutter pub get -``` - -### Alkalmazás építése - -```sh -cd refilc -flutter build apk --release -``` - -*Ez egy apk fájlt fog építeni* - -*Ipa építéshez macOS szükséges egy fejlesztői fiókkal...* - -### Contribution - -**Nézd meg a [Contribution guide](CONTRIBUTING.md)-ot!** - -Az összes (ugyan azon verzióhoz tartozó) contribution meg fog jelenni a kiadásnál. Kérjük, írd le a Discord nevedet a pull request leírásába, hogy adhassunk rangot. +Az összes (ugyan azon verzióhoz tartozó) hozzájárulás meg fog jelenni a kiadásnál. Kérjük, írd le a Discord nevedet a pull request leírásába, hogy adhassunk rangot. ------- diff --git a/fix-pub.bat b/fix-pub.bat new file mode 100644 index 00000000..af2017cd --- /dev/null +++ b/fix-pub.bat @@ -0,0 +1,18 @@ +cd refilc +flutter clean +flutter pub get + +cd .. +cd refilc_kreta_api +flutter clean +flutter pub get + +cd .. +cd refilc_mobile_ui +flutter clean +flutter pub get + +cd .. +cd refilc_plus +flutter clean +flutter pub get \ No newline at end of file diff --git a/refilc/build-ipa.sh b/refilc/build-ipa.sh index 53b8712f..9f9ad51c 100755 --- a/refilc/build-ipa.sh +++ b/refilc/build-ipa.sh @@ -4,4 +4,4 @@ flutter clean dart pub get flutter doctor -v -flutter build ipa --release --dart-define=APPVER=$(cat pubspec.yaml | grep version: | cut -d' ' -f2 | cut -d+ -f1) --no-tree-shake-icons +flutter build ipa --release --dart-define=APPVER=$(cat pubspec.yaml | grep version: | cut -d' ' -f2 | cut -d+ -f1) --tree-shake-icons diff --git a/refilc/build.bat b/refilc/build.bat new file mode 100644 index 00000000..2ea36045 --- /dev/null +++ b/refilc/build.bat @@ -0,0 +1 @@ +flutter build apk --release --tree-shake-icons --split-debug-info=debug-info --split-per-abi --target-platform android-arm,android-arm64 --obfuscate \ No newline at end of file