0% found this document useful (0 votes)
9 views30 pages

Zeal Polytechnic: Microp Roject

The document outlines a micro project titled 'QR Code Generator and Scanner Application' completed by students of Zeal Polytechnic for the academic year 2024-2025. It details the application’s features, including QR code generation, scanning, customization, and security measures, aimed at improving data sharing efficiency. The project also addresses limitations of existing QR code applications and proposes solutions to enhance user experience and functionality.

Uploaded by

jethalal10104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views30 pages

Zeal Polytechnic: Microp Roject

The document outlines a micro project titled 'QR Code Generator and Scanner Application' completed by students of Zeal Polytechnic for the academic year 2024-2025. It details the application’s features, including QR code generation, scanning, customization, and security measures, aimed at improving data sharing efficiency. The project also addresses limitations of existing QR code applications and proposes solutions to enhance user experience and functionality.

Uploaded by

jethalal10104
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

MAHARASHTRA STATE BOARD OF TECHNICAL

EDUCATION

ZEAL EDUCATION SOCIETY’S

ZEAL POLYTECHNIC
MICROP ROJECT

Qr Code Generator And Scanner Application

Academic Year: 2024-25

Program: Computer Engineering Program code: CO


Course: Mobile Application Development Course code: 22617
MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION

Certificate
This is to certify that Mr. Vivek Rohidas Dumbre Roll No. 15 of 6th Semester of
Diploma in Computer Engineering of Institute, ZEAL POLYTECHNIC (Code: 0988)
has completed the micro project satisfactorily in Subject – MAD(22617)for the
academic year 2024- 2025 as prescribed in the curriculum.

Place: Pune Enrollment No: 2209880227

Date: Exam.SeatNo:

Subject Teacher Head of the Department Principal


MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION

Certificate
This is to certify that Mr. Shambhuraje Sandip Jagtap Roll No. 18 of 6th Semester
of Diploma in Computer Engineering of Institute, ZEAL POLYTECHNIC (Code:
0988) has completed the micro project satisfactorily in Subject – MAD(22617)for the
academic year 2024- 2025 as prescribed in the curriculum.

Place: Pune Enrollment No: 2209880253

Date: Exam.SeatNo:

Subject Teacher Head of the Department Principal


MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION

Certificate
This is to certify that Mr. Sahil Sunil Tagunde Roll No. 43 of 6th Semester of
Diploma in Computer Engineering of Institute, ZEAL POLYTECHNIC (Code: 0988)
has completed the micro project satisfactorily in Subject – MAD(22617) for the
academic year 2024- 2025 as prescribed in the curriculum.

Place: Pune Enrollment No: 2209880378

Date: Exam.SeatNo:

Subject Teacher Head of the Department Principal


MAHARASHTRA STATE BOARD OF TECHNICAL
EDUCATION

Certificate
This is to certify that Mr. Parth Mahendra Waikar Roll No. 47 of 6th Semester of
Diploma in Computer Engineering of Institute, ZEAL POLYTECHNIC (Code: 0988)
has completed the micro project satisfactorily in Subject – MAD(22617) for the
academic year 2024- 2025 as prescribed in the curriculum.

Place: Pune Enrollment No: 2209880388

Date: Exam.SeatNo:

Subject Teacher Head of the Department Principal


GROUPDETAILS

Sr.No Name of GroupMember RollNo EnrollmentNo SeatNo

01 Vivek Rohidas Dumbre 15 2209880227


02 Shambhuraje Sandip Jagtap 18 2209880253
03 Sahil Sunil Tagunde 43 2209880378
04Par Parth Mahendra Waikar 47 2209880388

Name of Guide:-Prof.Savita Biradar


Project Abstract

In today’s digital age, QR codes have become an essential tool for information sharing,
authentication, and digital transactions. The QR Code Generator and Scanner
Application is a user-friendly and efficient mobile and web-based application designed
to generate, scan, and decode QR codes seamlessly.

The application allows users to generate QR codes for various types of data, including
URLs, text, contact information, and Wi-Fi credentials. Additionally, it features an
advanced scanner that can instantly decode QR codes using the device’s camera or an
uploaded image. The scanner also provides options for real-time data processing,
redirection, and storage.
INDEX

SR.NO. CONTENT PAGE NO.


1 Introduction 1
Working of QR Code Generator
2 3

3 Working of QR Code Scanner 4

Problem Statement: QR Code


4 Generator and Scanner 5

Solution: QR Code Generator and


Scanner
5 6

Limitations of Existing QR Code


6 Applications 7

Xml Code
Java Code
7 Output 9

8 Conclusion 19

WEEKLY PROGRESS
9 REPORT 20

References and Sources Used


10 21
ANEEXURE II
11 22
INTRODUCTION

In the modern digital world, QR codes have become a fast and convenient way to
store and share information. A QR (Quick Response) code is a type of barcode that
can be scanned using a smartphone or a special scanner to access data instantly. QR
codes are used in various fields, such as marketing, payments, authentication, and
information sharing.

The QR Code Generator and Scanner Application is designed to help users create
and scan QR codes easily. With this application, users can generate QR codes for
different types of information, such as website links, contact details, text messages,
and Wi-Fi passwords. They can also scan QR codes to retrieve the stored information
quickly.

This application is useful for businesses, students, and individuals. Businesses can use
it to share product details, promotions, or payment options. Students and teachers can
use it for educational purposes, such as sharing study materials and assignments. It
also helps in daily life, such as scanning QR codes on restaurant menus, digital tickets,
and event passes.

The main features of this application include:

 QR Code Generation – Create QR codes for different types of data.


 QR Code Scanning – Scan and decode QR codes quickly.
 Storage and History – Save generated and scanned QR codes for future use.
 Customization – Change QR code colors and styles to suit personal or business
needs.
 Security – Ensure safe and private sharing of QR code data.

This application is developed using simple and efficient technologies, making it


user-friendly and accessible for everyone. It is designed to work on mobile devices
and computers, ensuring a smooth experience for all users.

Overall, the QR Code Generator and Scanner Application is a powerful tool that
simplifies data sharing, improves business processes, and enhances digital interactions
in everyday life.

1
Fig.1.Structure of QR Code

The image represents the structure of a QR code with labeled components. Here’s
a breakdown of the key parts:

1. Position Pattern – The three large squares in the corners help scanners detect and
properly align the QR code.
2. Quiet Zone – The empty margin around the QR code ensures it is scanned
correctly without interference from surrounding elements.
3. Timing Pattern – A series of alternating black and white modules (lines) that help
the scanner determine the correct orientation and grid size of the QR code.
4. Alignment Pattern – A smaller square inside the QR code that ensures proper
scanning even if the code is distorted or curved.
5. Data and Error Correction Keys – The black-and-white patterns that store the
actual data and error correction information, allowing the QR code to be read even
if it's partially damaged.

2
 Working of QR Code Generator
A QR Code Generator is a software or tool that creates a QR code based on user-
provided data. The process of generating a QR code involves the following steps:

Step 1: Input Data

The user provides data that needs to be stored in the QR code. This data can include:

 Website URL
 Contact details (vCard)
 Wi-Fi credentials
 Text messages
 Payment details

Step 2: Data Encoding

The input data is encoded into a specific format using a QR code encoding
algorithm. This process converts the data into a binary format that can be represented
visually using black and white squares.

Step 3: Error Correction

QR codes use error correction techniques to ensure they can still be scanned even if
they are partially damaged. There are four levels of error correction:

 L (Low): Can recover up to 7% of lost data.


 M (Medium): Can recover up to 15% of lost data.
 Q (Quartile): Can recover up to 25% of lost data.
 H (High): Can recover up to 30% of lost data.

Step 4: QR Code Structure Formation

The generated QR code includes:

 Position Patterns: Three large squares in the corners for proper alignment.
 Timing Patterns: Alternating black-and-white modules for grid alignment.
 Alignment Patterns: Small squares that help with distorted scans.
 Data Modules: Encoded data represented in a grid.
 Quiet Zone: A margin around the QR code for error-free scanning.

Step 5: QR Code Output

Once all the elements are in place, the QR code is created and displayed as an image
that can be downloaded, printed, or shared.

3
 Working of QR Code Scanner
A QR Code Scanner is a software or device that decodes QR codes and extracts the
stored information. The process involves the following steps:

Step 1: Capturing the QR Code

The scanner captures the QR code using:

 A smartphone camera
 A dedicated QR code scanner device
 A webcam on a computer

Step 2: Image Processing

The scanner processes the captured image to:

 Detect the QR code in the image.


 Adjust brightness and contrast if needed.
 Convert the image into black and white for better recognition.

Step 3: QR Code Decoding

The scanner extracts the encoded data by:

 Identifying the position patterns to determine the orientation.


 Analyzing the timing and alignment patterns for correct reading.
 Extracting the data modules and converting them back to binary format.

Step 4: Error Correction and Data Extraction

If the QR code is damaged or unclear, the scanner applies error correction to


reconstruct missing data. Once complete, the extracted binary data is converted back
into human-readable information.

Step 5: Displaying or Executing Data

The decoded data is then displayed or executed based on the type of information
stored. For example:

 If it's a URL, the browser opens the website.


 If it's contact information, the user can save it to their phone.
 If it's a payment request, a payment app can process the transaction.

4
 Problem Statement: QR Code Generator and Scanner
In today's digital era, efficient and secure information sharing is crucial for businesses,
organizations, and individuals. Traditional methods of sharing data, such as manually
i5entering URLs, contact details, or Wi-Fi credentials, are time-consuming and prone
to errors. There is a need for a fast, reliable, and user-friendly system to encode and
decode information seamlessly.

A QR Code Generator and Scanner addresses this issue by enabling users to


generate QR codes for various types of data and scan them instantly for quick access.
However, existing QR code applications may have limitations such as lack of
customization, security vulnerabilities, and poor error correction mechanisms.
Additionally, users often struggle with managing and retrieving previously scanned or
generated QR codes.

Thus, this project aims to develop a QR Code Generator and Scanner Application
that provides a simple, efficient, and secure way to create, scan, and manage QR
codes. The application will offer features like data encryption, customizable QR code
designs, history storage, and cross-platform compatibility, ensuring seamless digital
interactions for both personal and professional use.

5
 Solution: QR Code Generator and Scanner
To address the problems associated with traditional data-sharing methods, we propose
a QR Code Generator and Scanner Application that provides a fast, secure, and
user-friendly way to generate, scan, and manage QR codes. This solution will enhance
accessibility, efficiency, and security in digital interactions.

Key Features and Functionalities

1. QR Code Generation
o Users can generate QR codes for different types of data, such as URLs,
contact details, text, Wi-Fi credentials, and payment information.
o The application will allow customization of QR codes, including color,
design, and size.
2. QR Code Scanning
o The scanner will instantly decode QR codes using a smartphone camera
or uploaded images.
o It will extract and display the stored information, such as opening URLs,
saving contacts, or connecting to Wi-Fi.
3. Error Correction and Security
o The application will implement error correction techniques (L, M, Q,
H levels) to ensure QR codes work even if they are slightly damaged.
o Optional encryption features will be added to protect sensitive data from
unauthorized access.
4. Storage and History Management
o Users can save generated and scanned QR codes for future reference.
o A history feature will allow easy retrieval and management of previously
scanned or created QR codes.
5. Cross-Platform Compatibility
o The application will be available for Android, iOS, and web browsers,
ensuring accessibility on multiple devices.
o It will support sharing QR codes via email, social media, and messaging
apps.
6. User-Friendly Interface
o A simple and intuitive interface will make it easy for all users, including
non-technical individuals, to generate and scan QR codes effortlessly.

6
 Limitations of Existing QR Code Applications
Despite the widespread use of QR code applications, many existing solutions have
certain drawbacks and limitations. These include:

1. Security Concerns

 Phishing Attacks: Some QR codes can lead to malicious websites that steal
user data.
 Lack of Encryption: Many QR code generators do not provide encryption,
making sensitive information vulnerable to hacking.
 Fake QR Codes: Attackers can replace legitimate QR codes with fake ones,
leading to fraud.

2. Limited Customization Options

 Most QR code generators offer basic black-and-white designs with minimal


customization.
 Limited options for adding logos, colors, and branding elements to make QR
codes visually appealing.

3. Poor Error Correction Mechanisms

 Some QR codes become unreadable if they are slightly damaged, dirty, or


printed at a low resolution.
 Not all applications implement error correction levels (L, M, Q, H)
effectively, affecting usability.

4. No Offline Functionality

 Many QR code scanners require an internet connection to decode data, making


them ineffective in areas with poor connectivity.
 Some QR generators also need an active internet connection to function.

5. Privacy Issues

 Some free QR code generators collect user data, such as IP addresses and
browsing history, raising privacy concerns.
 Lack of secure storage mechanisms for scanned or generated QR codes.

6. Limited Format Support

 Many applications only support text and URLs, while advanced QR codes like
Wi-Fi credentials, vCards, or payment details are not always supported.
 Some QR code scanners cannot decode barcode formats such as Data Matrix
or Aztec codes.

7
7. Lack of QR Code Management and History

 Users cannot save, organize, or retrieve previously generated or scanned


QR codes in most applications.
 No centralized dashboard for managing QR codes efficiently.

8. Incompatibility Across Devices

 Some QR code scanners are not optimized for all devices, leading to scanning
errors on older smartphones.
 Web-based QR generators may not work efficiently on mobile browsers.

9. Dependence on Camera Quality

 QR code scanning accuracy depends on the quality of the camera. Low-


resolution or poor lighting conditions can make scanning difficult.

10. No Analytics or Tracking Features

 Many QR code applications lack tracking features, making it impossible for


businesses to monitor scan statistics, such as location, time, and device type.

8
 Xml Code:
 Activity main.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp"
android:gravity="center"
android:background="#F5F5F5">

<!-- App Title -->


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="QR Code Generator And Scanner"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="#333"
android:paddingBottom="10dp" />

<!-- QR Code Image -->


<ImageView
android:id="@+id/qrImage"
android:layout_width="250dp"
android:layout_height="250dp"
android:scaleType="fitCenter"
android:visibility="gone"
android:background="@android:color/white"
android:layout_marginBottom="20dp" />

<!-- Input Field -->


<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"

9
android:hint="Enter text or URL"
android:background="@android:color/white"
android:padding="12dp"
android:textSize="16sp"
android:layout_marginBottom="10dp"
android:visibility="visible"/>

<!-- Generate QR Code Button -->


<Button
android:id="@+id/btnGenerate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Generate QR Code"
android:textAllCaps="false"
android:backgroundTint="#2196F3"
android:textColor="@android:color/white"
android:padding="10dp"
android:layout_marginBottom="10dp" />

<!-- Scan QR Code Button -->


<Button
android:id="@+id/btnScan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Scan QR Code"
android:textAllCaps="false"
android:backgroundTint="#4CAF50"
android:textColor="@android:color/white"
android:padding="10dp" />

</LinearLayout>

10
 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<!-- Add camera permission -->


<uses-permission android:name="android.permission.CAMERA" />

<!-- Indicate that the camera is not strictly required for the app -->
<uses-feature android:name="android.hardware.camera"
android:required="false" />

<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@drawable/img"
android:label="@string/app_name"
android:roundIcon="@drawable/img"
android:supportsRtl="true"
android:theme="@style/Theme.QRGenerator"
tools:targetApi="31">

<!-- Define the CaptureActivity for barcode scanning and override


theme conflict -->
<activity

android:name="com.journeyapps.barcodescanner.CaptureActivity"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.NoActionBar"
tools:replace="android:theme">
</activity>

<!-- Main activity definition -->


<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
11
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>

</manifest>

12
 Java Code
 Main activity.java
package com.example.qrgenerator;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
import com.journeyapps.barcodescanner.BarcodeEncoder;

public class MainActivity extends AppCompatActivity {

EditText editText;
Button btnGenerate, btnScan;
ImageView qrImage;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

editText = findViewById(R.id.editText);
btnGenerate = findViewById(R.id.btnGenerate);
btnScan = findViewById(R.id.btnScan);
qrImage = findViewById(R.id.qrImage);

// Generate QR Code

13
btnGenerate.setOnClickListener(v -> {
String text = editText.getText().toString().trim();
if (!text.isEmpty()) {
generateQRCode(text);
qrImage.setVisibility(View.VISIBLE);
} else {
Toast.makeText(this,"Enter text to generate QR",
Toast.LENGTH_SHORT).show();
}
});

// Scan QR Code
btnScan.setOnClickListener(v -> scanQRCode());
}

// Function to generate QR code


private void generateQRCode(String text) {
try {
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
Bitmap bitmap = barcodeEncoder.encodeBitmap(text,
BarcodeFormat.QR_CODE, 400, 400);
qrImage.setImageBitmap(bitmap);
} catch (WriterException e) {
e.printStackTrace();
Toast.makeText(this, "Error generating QR",
Toast.LENGTH_SHORT).show();
}
}

// Function to scan QR code


private void scanQRCode() {
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE);
integrator.setPrompt("Scan a QR Code");
integrator.setCameraId(0);
integrator.setBeepEnabled(true);
integrator.setBarcodeImageEnabled(false);
qrScannerLauncher.launch(integrator.createScanIntent());
}
14
// Handle scanned QR code result
private final ActivityResultLauncher<Intent> qrScannerLauncher =
registerForActivityResult(new
ActivityResultContracts.StartActivityForResult(), result -> {
if (result.getResultCode() == RESULT_OK && result.getData() != null) {
IntentResult intentResult =
IntentIntegrator.parseActivityResult(result.getResultCode(), result.getData());
if (intentResult != null && intentResult.getContents() != null) {
editText.setText(intentResult.getContents());
Toast.makeText(this, "Scanned: " + intentResult.getContents(),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Scan failed!",
Toast.LENGTH_SHORT).show();
}
}
});
}

15
 Output

16
17
18
Conclusion
The QR Code Generator and Scanner Application plays a crucial role in enhancing data
sharing, security, and accessibility in various industries, including business, education,
healthcare, and retail. It simplifies the process of encoding and decoding information,
making it faster, more efficient, and user-friendly.

This project addresses the limitations of existing QR code applications by integrating better
security features, customization options, offline functionality, error correction mechanisms,
and enhanced compatibility across devices. By ensuring fast and accurate scanning, secure
data handling, and improved user experience, this application becomes a powerful tool for
modern digital interactions.

In the future, additional features such as AI-based QR code analysis, dynamic QR codes,
multi-format support, and real-time analytics can further improve functionality. Overall,
the proposed QR Code Generator and Scanner Application provides a reliable, secure, and
innovative solution for quick and hassle-free data exchange.

19
WEEKLY PROGRESS REPORT

MICROPROJECT
SR.NO. WEEK ACTIVITYPERFORMED SIGNOFGUIDE DATE

1 1st Discussion and finalization of topic

2 2nd Preparation and submission of Abstract

3 3rd Literature Review

4 4th Collection of Data

5 5th Collection of Data

6 6th Discussion and outline of Content

7 7th Formulation of Content

Editing and proof Reading of


8 8th
Content

9 9th Compilation of Report And Presentation

10 10th Seminar

11 11th Vivavoce

12 12th Final submission of MicroProject

Sign of the student Sign of the Faculty

20
REFERENCES:

 https://www.qr-code-generator.com/solutions/
 https://www.adobe.com/in/express/feature/image/qr-code-generator

Sources Used:

 https://me-
qr.com/?srsltid=AfmBOoq_NRP0ZwOoXCwsMVhGyxx22Bk44nFvNVhO1n1Uab
vXLSpygplU
 https://www.scribd.com/document/554057350/QR-Code-Generator

21
ANEEXURE II

Evaluation Sheet for the Micro Project

Academic Year: 2024-25 Name of the Faculty: Prof. Adinath Puri

Course: MAD Course code: 22617 Semester: VI

Title of the project: Qr Code Generator And Scanner Application

Cos addressed by MicroProject:

The QR Code Generator and Scanner Application addresses efficient data encoding, secure information
sharing, quick access, customization, and offline functionality for seamless digital interactions. Major
learning out comes achieved by students by doing the project.

(a) Practical outcome:


1) Basic knowledge: A QR Code Generator and Scanner Application creates QR codes for
encoding data and scans them to quickly retrieve and process information.
2) Experiments and Practice: Testing the QR Code Generator and Scanner for accuracy,
speed, error correction, and security across various data formats and environments.
(b) Outcomes in Affective domain:
1. User Engagement,
2. Digital Awareness
Comments/suggestions about team work/leadership/inter-personal communication(ifany)
……………………………………………………………………………………………………

Marks out of 9 Marks out of 6 for


forperformance performanceinoral/
RollNo StudentName ingroupactivity Total out of 15
presentation
(D5 Col.8) (D5Col.9)
15 Vivek Dumbre
18 ShambhurajeJagtap
43 Sahil Tagunde
47 ParthWaikar

(Signature of Faculty)

22

You might also like