Köszönjük, hogy hozzá szeretnél járulni az OpenSchool fejlesztéséhez! Ez az útmutató segít az indulásban.
# Forkold a repót a GitHubon, majd klónozd
git clone https://github.com/<te-felhasználóneved>/openschool-platform.git
cd openschool-platformRészletes útmutató: Telepítés
Gyors összefoglalás:
# Python virtuális környezet
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt
# .env fájl létrehozása
cp .env.example .env
# Tesztek futtatása
pytest -v
# Linter ellenőrzés
ruff check . && ruff format --check .cd frontend
npm install
npm run devdocker compose up --build -d
curl http://localhost:8000/health- Nézd meg a meglévő issue-kat, mielőtt újat nyitsz
- Használd az issue template-eket (bug report / feature request / documentation / question)
- A
good first issuecímkéjű issue-k ideálisak kezdőknek - Mielőtt nagyobb változtatásba kezdesz, nyiss egy issue-t és egyeztessünk
main ──────────────────── (éles, védett)
│
├── develop ─────────── (staging)
│ │
│ ├── feature/... (új funkció)
│ ├── fix/... (hibajavítás)
│ └── docs/... (dokumentáció)
feature/<rövid-leírás>— új funkció (pl.feature/user-profile)fix/<rövid-leírás>— hibajavítás (pl.fix/login-redirect)docs/<rövid-leírás>— dokumentáció (pl.docs/api-guide)
A Conventional Commits konvenciót követjük:
feat:— új funkciófix:— hibajavításdocs:— dokumentációtest:— tesztekrefactor:— refaktoráláschore:— egyéb (CI, build, dependencies)
Példa: feat: add user profile page
-
Hozz létre egy branch-et a
develop-ból:git checkout develop git pull origin develop git checkout -b feature/az-en-funkciom
-
Végezd el a módosításokat, írd meg a teszteket
-
Ellenőrizd, hogy minden rendben:
pytest -v ruff check . && ruff format --check . cd frontend && npm run lint && npm run format:check
-
Commitold és pushold:
git add . git commit -m "feat: rövid leírás" git push origin feature/az-en-funkciom
-
Nyiss egy Pull Request-et a
developbranch-be a GitHub-on
- A tesztek zöldek (
pytest -v) - A linter nem jelez hibát (
ruff check .+npm run lint) - Új publikus függvényeknek van docstring-jük
- Az érintett dokumentáció frissítve van
- A PR leírás tartalmazza a változtatás célját
- Minden PR-hez legalább 1 reviewer jóváhagyása szükséges
- A review-ra általában 1-2 munkanapon belül válaszolunk
- Konstruktív visszajelzésre törekszünk — kérdéseket teszünk fel, nem kritizálunk
- Python: ruff linter és formatter, max. 120 karakter/sor
- TypeScript/React: ESLint linter + Prettier formatter
- Tesztek: pytest (backend), Vitest (frontend)
- Típusannotáció: ajánlott, de nem kötelező
| Szerepkör | Elérés módja | Jogosultság |
|---|---|---|
| Tanuló | Beiratkozás egy kurzusra | Részvétel, issue nyitás |
| Kontribútor | Legalább 1 elfogadott PR | Contributor címke |
| Mentor | 5+ elfogadott PR + aktív code review | Code review jogosultság |
| Maintainer | Meghívás a core csapattól | Write access, release |
Nyiss egy issue-t vagy keress minket a Discord szerveren!