diff --git a/.gitignore b/.gitignore
index be9123a..3a42aea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,402 @@
/.vs
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+.pnpm-debug.log*
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+node_modules/
+jspm_packages/
+
+# Snowpack dependency directory (https://snowpack.dev/)
+web_modules/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+.env.test
+.env.production
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+.parcel-cache
+
+# Next.js build output
+.next
+out
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and not Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# Stores VSCode versions used for testing VSCode extensions
+.vscode-test
+
+# yarn v2
+.yarn/cache
+.yarn/unplugged
+.yarn/build-state.yml
+.yarn/install-state.gz
+.pnp.*
+
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+
+# Built application files
+*.apk
+*.aar
+*.ap_
+*.aab
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+# Uncomment the following line in case you need and you don't have the release build type files in your app
+# release/
+
+# Gradle files
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+*.log
+
+# Android Studio Navigation editor temp files
+.navigation/
+
+# Android Studio captures folder
+captures/
+
+# IntelliJ
+*.iml
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/gradle.xml
+.idea/assetWizardSettings.xml
+.idea/dictionaries
+.idea/libraries
+.idea/jarRepositories.xml
+# Android Studio 3 in .gitignore file.
+.idea/caches
+.idea/modules.xml
+# Comment next line if keeping position of elements in Navigation Editor is relevant for you
+.idea/navEditor.xml
+
+# Keystore files
+# Uncomment the following lines if you do not want to check your keystore files in.
+#*.jks
+#*.keystore
+
+# External native build folder generated in Android Studio 2.2 and later
+.externalNativeBuild
+.cxx/
+
+# Google Services (e.g. APIs or Firebase)
+# google-services.json
+
+# Freeline
+freeline.py
+freeline/
+freeline_project_description.json
+
+# fastlane
+fastlane/report.xml
+fastlane/Preview.html
+fastlane/screenshots
+fastlane/test_output
+fastlane/readme.md
+
+# Version control
+vcs.xml
+
+# lint
+lint/intermediates/
+lint/generated/
+lint/outputs/
+lint/tmp/
+# lint/reports/
+
+# Android Profiling
+*.hprof
+
+# Covers files to be ignored for android development using Android Studio.
+
+# Built application files
+*.apk
+*.ap_
+*.aab
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
+.gradle
+.gradle/
+build/
+
+# Signing files
+.signing/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+*.log
+
+# Android Studio
+/*/build/
+/*/local.properties
+/*/out
+/*/*/build
+/*/*/production
+captures/
+.navigation/
+*.ipr
+*~
+*.swp
+
+# Keystore files
+*.jks
+*.keystore
+
+# Google Services (e.g. APIs or Firebase)
+# google-services.json
+
+# Android Patch
+gen-external-apklibs
+
+# External native build folder generated in Android Studio 2.2 and later
+.externalNativeBuild
+
+# NDK
+obj/
+
+# IntelliJ IDEA
+*.iml
+*.iws
+/out/
+
+# User-specific configurations
+.idea/caches/
+.idea/libraries/
+.idea/shelf/
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/.name
+.idea/compiler.xml
+.idea/copyright/profiles_settings.xml
+.idea/encodings.xml
+.idea/misc.xml
+.idea/modules.xml
+.idea/scopes/scope_settings.xml
+.idea/dictionaries
+.idea/vcs.xml
+.idea/jsLibraryMappings.xml
+.idea/datasources.xml
+.idea/dataSources.ids
+.idea/sqlDataSources.xml
+.idea/dynamic.xml
+.idea/uiDesigner.xml
+.idea/assetWizardSettings.xml
+.idea/gradle.xml
+.idea/jarRepositories.xml
+.idea/navEditor.xml
+
+# OS-specific files
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+ehthumbs.db
+Thumbs.db
+
+# Legacy Eclipse project files
+.classpath
+.project
+.cproject
+.settings/
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.war
+*.ear
+
+# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
+hs_err_pid*
+
+## Plugin-specific files:
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Mongo Explorer plugin
+.idea/mongoSettings.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+.vscode/*
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# End of https://mrkandreev.name/snippets/gitignore-generator/#Java,Node,Kotlin,Android,AndroidStudio,VisualStudioCode
diff --git a/.markdownlint.yaml b/.markdownlint.yaml
new file mode 100644
index 0000000..3f76a17
--- /dev/null
+++ b/.markdownlint.yaml
@@ -0,0 +1,26 @@
+default: true
+extends: null
+
+# Mivel az editorok nagy része támogatja a sortörést, egszerűsítjük vele a feladatunkat.
+# Később, ha sok időnk lesz rá be lehet állítani
+MD013: false
+
+# A plain HTML elemek nem mindig szépek, de a Markdownban nem mindig lehet őket kicserélni.
+MD004:
+ style: "dash"
+
+MD033:
+ allowed_elements:
+ - "img"
+ - "div"
+ - "kbd"
+
+MD046: false
+
+# Emphasized text is surrounded by underscores, not asterisks.
+MD049:
+ style: "underscore"
+
+# Strong emphasis is surrounded by asterisks not underscores.
+MD050:
+ style: "asterisk"
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..12d71b6
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,8 @@
+{
+ "recommendations": [
+ "davidanson.vscode-markdownlint",
+ "yzhang.markdown-all-in-one",
+ "usernamehw.errorlens",
+ "esbenp.prettier-vscode"
+ ]
+}
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..3daa5d4
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,87 @@
+# Kontribúciós guidelineok
+
+## Hibák jelzése
+
+Amennyiben hibát találsz az anyagban, vagy szeretnéd bővíteni, de nem áll módodban javítani, nyithatsz egy issue-t amiben leírod a hibát.
+
+0. Nézd meg, hogy valaki nem jelezte-e, amit szeretnél.
+ Gyakran már létező problémákat találnak, amire már van pull request,
+ így mielőtt bármit tennél nézd meg valaki nem előzött-e meg
+1. Az issues tabon a new issue gombbal hozz létre egy új issue-t.
+2. Lásd el a megfelelő címkékkel
+ 1. A labor típusa (`android` az androidos laboroknál és `web` a webes laboroknál)
+ 2. A hiba típusa (`clarification`, `typo`, `illustration` vagy `notes`)
+3. Írd le, hogy mit kéne tartalmaznia a javításnak
+
+## Változtatások javaslása
+
+Amennyiben a hozzájárulásod meg tudod valósítani indíts pull requestet
+
+1. Forkold a repository-t
+2. Végezd el a változtatásokat.
+3. Ellenőrizd, hogy ne kerüljön bele a commitba olyan file, amit az editor generált (pl.: `.idea` mappa)
+4. Indíts egy pull requestet, ami elmagyarázza, hogy milyen változtatásokat és miért végeztél
+5. Lásd el a megfelelő címkékkel
+ 1. A labor típusa (`android` az androidos laboroknál és `web` a webes laboroknál)
+ 2. A hiba típusa (`clarification`, `typo`, `illustration` vagy `notes`)
+6. Valaki, akinek hozzáférése van a repositoryhoz, ellenőrzi a változtatások szükségességét, és elbírálja, hogy valóban bekerülhet az anyagba.
+7. Ha ez megtörtént a változtatások belekerülnek az anyagba.
+
+## Code style
+
+- Kotlin: a [hivatalos style guide](https://kotlinlang.org/docs/coding-conventions.html) alapján
+- HTML & CSS & JavaScript: A [Prettier](https://prettier.io/docs/en/why-prettier.html) style guide alapján
+- Markdown: Mivel az alap spec nem mindig a legtisztábban érthető, a [markdownlint szabályai](https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md) alapján, az `MD033` kivételével.
+
+Ezek a stílusok a tárgyban ajánlott editorokban könnyen beállíthatóak.
+
+### VSCode
+
+Ajánlott extensionök:
+
+- [`yzhang.markdown-all-in-one`](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one): MD szinkronizált live preview
+- [`DavidAnson.vscode-markdownlint`](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint): MD formázás, szabályok stb.
+- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode): HTML+CSS formázó
+- [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens): Kiemeli a hibákat hogy gyorsabben megtaláljuk őket
+
+Az editor beállításához nyisd meg a repo-t a gyökerében VSCode-al. A VSCode fel fogja ajánlani a két markdown extension-t.
+
+Ha ez megtörtént, nyiss meg egy markdown dokumentumot, lés használd a CTRL+SHIFT+P shortcutot, a command palette megnyitásához.
+> A command palette a VSCode parancsaihoz nyújt hozzáférést, autocompleteeli a parancsokat és egy minimális GUI-t is biztosít.
+
+A command palette-be keressük meg a `Format Document With...` menüpontot és válasszuk ki.
+Ekkor egy almenübe dob az editor és kiválaszthatjuk hogy melyik formázóval formázzuk a MD dokumentumokat.
+Legalul lesz egy `Configure Default Formatter`, válasszuk ezt.
+Ezután válasszuk a `markdownlint` extensiont, és készen vagyunk.
+> **FONTOS!**
+> Ne válaszd ki a prettiert formatterként, mert eltöri a szövegbuborékokat.
+
+Ezen felül érdemes lehet bekapcsolni a mentés előtti formázást.
+
+A CTRL+, shortcuttal megnyitjuk a beállításokat, és rákeresünk arra, hogy format on save.
+Itt kipipáljuk a checkboxot és készen vagyunk.
+
+Ha ehhez nem lenne törelmed, itt a json amit a `settings.json`-ba illesztve beállítódik minden.
+
+```json
+{
+ "[markdown]": {
+ "editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
+ "editor.formatOnSave": true
+ }
+}
+```
+
+## Ajánlások
+
+### Android
+
+- Az androidos Kotlin és XML fileokat illetve kódrészleteket Android Studioban formázva érdemes hozzáadni az anyaghoz
+- Ahhoz hogy biztosan formázva legyenek a fileok használd a `ctrl+alt+L` shortcutot
+
+### Markdown Fileok
+
+- A markdown fileokat se az Android Studio se a Visual Studio Code nem rendereli alaphelyzetben.
+ Erre a feladatra a következő extensionöket/pluginokat tudom ajánlani:
+ - VSCode: [`yzhang.markdown-all-in-one`](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one)
+ - Android Studio: [Markdown Editor](https://plugins.jetbrains.com/plugin/17254-markdown-editor)