diff --git a/app/build.gradle b/app/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..eead6f3cad0175698c24d8709da70a46808f9b38
--- /dev/null
+++ b/app/build.gradle
@@ -0,0 +1,34 @@
+apply plugin: 'com.android.application'
+
+android {
+    compileSdkVersion 28
+    defaultConfig {
+        applicationId "com.ireallydontcare.viet.posseidon"
+        minSdkVersion 15
+        targetSdkVersion 28
+        versionCode 1
+        versionName "1.0"
+        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+    }
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    implementation fileTree(dir: 'libs', include: ['*.jar'])
+    implementation 'com.android.support:appcompat-v7:28.0.0'
+    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
+    implementation 'com.android.support:design:28.0.0'
+    testImplementation 'junit:junit:4.12'
+    androidTestImplementation 'com.android.support.test:runner:1.0.2'
+    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
+    def room_version = "1.1.1"
+    implementation "android.arch.persistence.room:runtime:$room_version"
+    annotationProcessor "android.arch.persistence.room:compiler:$room_version"
+    implementation 'com.android.support:recyclerview-v7:28.0.0'
+    api 'com.github.kenglxn.QRGen:android:2.5.0'
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 673e2f641730126820e560cf1c8490a37fdf7c86..ce63283de2a6ac293efadf273fa6472019d2bc5c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -22,7 +22,8 @@
         <activity
             android:name=".SubjectActivity"
             android:label="@string/title_activity_subject"
-            android:theme="@style/AppTheme.NoActionBar"></activity>
+            android:theme="@style/AppTheme.NoActionBar" />
+        <activity android:name=".QRActivity"></activity>
     </application>
 
 </manifest>
\ No newline at end of file
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/QRActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/QRActivity.java
new file mode 100644
index 0000000000000000000000000000000000000000..bd4e63d6a21633f0d3eeaa620f52d597f0847239
--- /dev/null
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/QRActivity.java
@@ -0,0 +1,23 @@
+package com.ireallydontcare.viet.posseidon;
+
+
+import android.graphics.Bitmap;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.widget.ImageView;
+
+import net.glxn.qrgen.android.QRCode;
+import net.glxn.qrgen.core.image.ImageType;
+public class QRActivity extends AppCompatActivity {
+
+    ImageView imageView;
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_qr);
+
+        Bitmap myBitmap = QRCode.from("www.example.org").bitmap();
+        imageView = findViewById(R.id.QRimage);
+        imageView.setImageBitmap(myBitmap);
+    }
+}
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java
index 69fb00dd8597f4a7959d57fcfee45a0383903554..3f5b769cbe8f29de9376fc6cbf951d9ae59aadba 100644
--- a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java
@@ -2,6 +2,8 @@ package com.ireallydontcare.viet.posseidon;
 
 import android.app.DatePickerDialog;
 import android.arch.persistence.room.Room;
+import android.content.ClipData;
+import android.content.Intent;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.support.design.widget.FloatingActionButton;
@@ -10,6 +12,8 @@ import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.Toolbar;
+import android.view.Menu;
+import android.view.MenuItem;
 import android.view.View;
 
 import com.ireallydontcare.viet.posseidon.adapter.EventAdapter;
@@ -33,9 +37,7 @@ public class SubjectActivity extends AppCompatActivity
     private EventAdapter eventAdapter;
     private RecyclerView.LayoutManager eventLayoutManager;
     private EventDatabase database;
-
-
-
+    private MenuItem qrButton;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -54,6 +56,8 @@ public class SubjectActivity extends AppCompatActivity
             }
         });
 
+        qrButton = (MenuItem) findViewById(R.id.genQR);
+
         eventRecyclerView = (RecyclerView) findViewById(R.id.EventRecyclerView);
         eventRecyclerView.setHasFixedSize(true);
 
@@ -108,4 +112,24 @@ public class SubjectActivity extends AppCompatActivity
             }
         }.execute();
     }
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        // Inflate the menu; this adds items to the action bar if it is present.
+        getMenuInflater().inflate(R.menu.menu_subject, menu);
+        return true;
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        // Handle item selection
+        switch (item.getItemId()) {
+            case R.id.genQR:
+                Intent showDetailsIntent = new Intent();
+                showDetailsIntent.setClass(SubjectActivity.this, QRActivity.class);
+                startActivity(showDetailsIntent);
+                return true;
+            default:
+                return true;
+        }
+    }
 }
diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/outsource/QRCodeUtil.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/outsource/QRCodeUtil.java
new file mode 100644
index 0000000000000000000000000000000000000000..1b54ef2dd542bee183650aea9fe8924e64570366
--- /dev/null
+++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/outsource/QRCodeUtil.java
@@ -0,0 +1,42 @@
+package com.ireallydontcare.viet.posseidon.outsource;
+
+import android.graphics.Bitmap;
+import android.graphics.Color;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.MultiFormatWriter;
+import com.google.zxing.WriterException;
+import com.google.zxing.common.BitMatrix;
+
+public class QRCodeUtil {
+
+    private QRCodeUtil() {}
+
+    public static Bitmap encodeAsBitmap(String source, int width, int height) {
+        BitMatrix result;
+
+        try {
+            result = new MultiFormatWriter().encode(source, BarcodeFormat.QR_CODE, width, height, null);
+        } catch (IllegalArgumentException | WriterException e) {
+            // Unsupported format
+            return null;
+        }
+
+        final int w = result.getWidth();
+        final int h = result.getHeight();
+        final int[] pixels = new int[w * h];
+
+        for (int y = 0; y < h; y++) {
+            final int offset = y * w;
+            for (int x = 0; x < w; x++) {
+                pixels[offset + x] = result.get(x, y) ? Color.BLACK : Color.WHITE;
+            }
+        }
+
+        final Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
+        bitmap.setPixels(pixels, 0, width, 0, 0, w, h);
+
+        return bitmap;
+    }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_qr.xml b/app/src/main/res/layout/activity_qr.xml
new file mode 100644
index 0000000000000000000000000000000000000000..695195b8f5e8ddea70f4dd57949fee46ed142ae8
--- /dev/null
+++ b/app/src/main/res/layout/activity_qr.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".QRActivity">
+
+    <ImageView
+        android:id="@+id/QRimage"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+</android.support.constraint.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_subject.xml b/app/src/main/res/layout/content_subject.xml
index 1672efadc740750fe00ef03d4d56a709468dd28b..7efff0ae8e48a7b535fc36e37b52feb649c8744f 100644
--- a/app/src/main/res/layout/content_subject.xml
+++ b/app/src/main/res/layout/content_subject.xml
@@ -7,8 +7,30 @@
     app:layout_behavior="@string/appbar_scrolling_view_behavior"
     tools:context=".SubjectActivity"
     tools:showIn="@layout/activity_subject">
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="targykod"/>
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="leiras"/>
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="kredit"/>
+
+        </LinearLayout>
 
-    <android.support.v7.widget.RecyclerView
+        <android.support.v7.widget.RecyclerView
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         android:id="@+id/EventRecyclerView"
@@ -16,4 +38,5 @@
         android:layout_height="match_parent"
         app:layout_behavior="@string/appbar_scrolling_view_behavior"
         />
+    </LinearLayout>
 </android.support.constraint.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_subject.xml b/app/src/main/res/menu/menu_subject.xml
index a5248eb179252a7daedbefbe514e297fac911a0f..3b3896cf314ee97e242b4d41b42b76946017caec 100644
--- a/app/src/main/res/menu/menu_subject.xml
+++ b/app/src/main/res/menu/menu_subject.xml
@@ -3,8 +3,13 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:context="com.ireallydontcare.viet.posseidon.MainActivity">
     <item
-        android:id="@+id/action_settings"
+        android:id="@+id/deleteSubject"
         android:orderInCategory="100"
-        android:title="@string/action_settings"
+        android:title="Delete"
+        app:showAsAction="never" />
+    <item
+        android:id="@+id/genQR"
+        android:orderInCategory="100"
+        android:title="Generate QR"
         app:showAsAction="never" />
 </menu>
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..7c2a65a478932231d2441580077063c12b826b15
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,31 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+    
+    repositories {
+        google()
+        jcenter()
+
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:3.2.1'
+        
+
+        // NOTE: Do not place your application dependencies here; they belong
+        // in the individual module build.gradle files
+    }
+}
+
+allprojects {
+    repositories {
+        google()
+        jcenter()
+        maven {
+            url "https://jitpack.io"
+        }
+    }
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}