Files
app-legacy/CONTRIBUTING.md
Cubebanyasz 4db2547c3e fix spelling mistake in contribution guide
viszonlyak --> viszonylag
2025-02-25 20:24:01 +01:00

76 lines
5.3 KiB
Markdown

# 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.
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 a viszonylag 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.
A **Firka** a Google által pár éve létrehozott **[Flutter](https://flutter.dev/)** keretrendszert használja, aminek nyelve a **[Dart](https://dart.dev/)**. Ha ismered a JavaScript, C#, Java, C++, vagy egyéb hasonló programnyelvek működését, **nem fog nagy gondot okozni a használata.** A felhasználói felület létrehozásában az is segíthet, ha foglalkoztál már korábban weboldalakkal vagy alkalmazásfejlesztéssel.
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é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 é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, 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=<A jelszó amit megadtál a script futtatásakor>
keyPassword=<A jelszó amit megadtál a script futtatásakor>
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 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!
**Jó fejlesztést kívánunk!**