Professional Documents
Culture Documents
Yash Comp Ip
Yash Comp Ip
Yash Comp Ip
VIVEKANANDA VIDYALAYA
AVADI,CHENNAI-600 054
COMPUTER SCIENCE
INVESTIGATORY REPORT
1
STUDENT’S PROFILE
NAME: YASHIKA.R.S
CLASS: XII-A
This is to certify that the computer Investigatory Project titled 'ID card
generator' has been successfully completed by YASHIKA.R.S of class XII
under the supervision and guidance of computer teacher Mrs Revathi miss in
partial fulfilment of curriculum of Central Board of Secondary Education
(CBSE) leading to the award of annual examination of the year 2023-24.
All the works related to the project is original and genuine and has been
completed solely, sincerely and satisfactorily by the candidate to investigate
about the subject matter.
Signature of Principal
Signature of Signature of
Internal Examiner External examiner
3
ACKNOWLEDGEMENT
I wish to thank my parents as well for their support and encouragement without
which I could not have completed this project in the limited time frame.
In the end, I want to thank my friends who displayed appreciation for my work
and motivated me to continue my work.
And last but not the least I thank the almighty for everything that I have
achieved till now.
INDEX
ABSTRACT 5
LIST OF FIGURES 7
1. INTRODUCTION
1.BACKGROUND
2. OUTLINE OF THE PROJECT
3. ORGANIZATION OF THE REPORT
2. AIM
1. AIM
2. PROBLEM STATEMENT
3. LITERATURE REVIEW
4. SCOPE
4. SYSTEM IMPLEMENTATION
1. REQUIREMENTS
5.1 CONCLUSION
5.2REFERENCE
5.3 APPENDIX
5
CHAPTER 1
INTRODUCTION
1. BACKGROUND
This project is about creating Identity Card for companies which has large
number of users/employees. By generating a unique QR code, this project creates
individual and secured ID cards for employees. This QR code is created by using the
company name and the unique ID number that is given to the users/employees. The ID
card generator will ask for the user’s information like Name, Company name, DOB, Blood
group and adds this information to the image. This image adds all the information using the
co-ordinate values. All these image activities are done by using the pillow module which is
known as PIL. Thus, at the end of the project an Identity Card will be generated for the
user.
Chapter 2 deals with Aim, Problem Statement, Literature Review and Scope
of the present investigation. Chapter 3 deals with General, Algorithm, Project
description. Chapter 4 deals with Requirement, Role of Python and Results And
Discussion. Chapter 5 deals with Conclusion and Future work.
CHAPTER 2
1. AIM
The main objective of this project is to generate a unique ID card for all the
users. When it comes to uniqueness, generating QR code for each user is the best way.
This QR code is created by using the company name and the ID number that is given to
the users individually. Thus, the user can use the QR code for other purpose also.
2. PROBLEM STATEMENT
The job is to create an ID card for the users in a large company. When there
are more employees in a company, generating an ID card individually is a bit tough task.
So, by using this ID card generator, the task is made easier for the users.
3. LITERATURE REVIEW
In this project, an individual ID card will be generated for every user. The QR
code given to the user is unique and highly secured. The QR code is made up with the
company name and the individual ID number. First the code generates the QR code
separately and saves it as a BMP file. Once the QR code is generated, it can be added
with the existing details and saved as a PNG file. The modules used are, PIL – This is
also known as pillow module. Pillow is the friendly PIL fork by Alex Clark and Contributors.
PIL is the Python Imaging Library by Fredrik Lundh and Contributors.
7
2
pure python. The module can automate most of the building process for creating QR
codes. Most codes can be created using only two lines of code. This module creates
the QR code by using the user info and creates it with ‘.BMI’ extension. Thus, the
secured digital ID card can be easily generated.
2.4 SCOPE
Python is one of the most prevalent coding languages. Alongside with being
a high-level and general-purpose programming language, Python is also an object oriented
and open source. Thus, the ID card can be easily generated within seconds. When we add
image here, the scope can be incremented. Thus, generating the secured ID card with
python is easily implemented here.
CHAPTER 3
1. GENERAL
In this project, an individual ID card will be generated for every user. The QR
code given to the user is unique and highly secured. The QR code is made up with the company
name and the individual ID number. First the code generates the QR code separately and saves it
as a BMP file. Once the QR code is generated, it can be added with the existing details and
saved as a PNG file. The modules used are,
PIL – This is also known as pillow module. Pillow is the friendly PIL fork by Alex Clark and
Contributors. PIL is the Python Imaging Library by Fredrik Lundh and Contributors. Python
Imaging Library (abbreviated as PIL) (in newer versions known as Pillow) is a free library for
the Python programming language that adds support for opening, manipulating, and saving
many different image file formats.
qrcode - This module is a QR code generator that is simple to use and written in pure python.
The module can automate most of the building process for creating QR codes. Most codes can
be created using only two lines of code. This module creates the QR code by using the user info
and creates it with .BMI extension. Thus, the secured digital ID card can be easily generated.
2. ALGORITHM
1. Install the modules PILLOW and QRCODE which are needed to generate Image and qrcode.
2. Get inputs from the user for Company name, Name, Gender, DOB, Blood Group and address.
3. Assign color values for the obtained values and save it in the perfect Coordination. Example:
(50,60).
4. Save the image with ‘.png’ extension and by using the name value of the
User.
5. Generate the QRCODE using the company name and the unique ID card Number.
6. Paste the QR code that is generated in the image created and save the file.
PYTHON is the language used here to make ID card generator. When we run the project, the user will
be asked for the company name, his name, gender, DOB and address. Whenever the user enters value for
each field, it’ll be drawn in the coordination points. Such that, all the values are drawn in the correct place.
Once all the values are collected, the QRCODE is generated based on the company name and ID number.
It will be saved as a separate file with ‘.bmi’ extension. Once the QRCODE is generated, it will be pasted in
the generated ID card. The generated ID card will have the ‘.jpg’ extension. The name of the file will be the
name of the employee name. Thus, the ID card is generated and stored in the file location.
GENERAL DESCRIPTION
Requirement Modelling approaches are:
i) Scenario-Based modeling
ii) Use Case Diagram
iii) Data modeling
iv) ER Diagram
v) Class based modeling
vi) Class diagrams
vii) Behavioral modeling
i) Scenario-Based modeling
Scenario based modeling represents requirements from the point of view of various system ‘actors’.
Requirement modeling begins with the creation of scenarios in the form of use case diagrams.
Use cases help to determine the functionality and features of the software from user’s perspective. A use
case describes how a user interacts with the system by defining the steps required to accomplish a
specific goal. Variations in the sequence of steps describe various scenarios. In the diagram the stick
figure represents an actor that is associated with one category of user. In the use-case diagram the use
cases are displayed as ovals.
If software requirements include the need to create, extend, or interface with a database, the software
team may choose to create a data model as part of overall requirements modeling. It defines all data
objects that are processed within the system, the relationship between the data objects, and other
information that is pertinent to the relationships. The entity –relationship diagram (ERD) addresses these
issues and represents all data objects that are entered, stored, transformed, and produced within an
application. Data modeling tools provide a software engineer with the ability to represent data object,
their characteristics, and their relationships. Used primarily for large database applications and other
information systems projects, data modeling tools provide an automated means for creating
comprehensive entity relation diagrams, data object dictionaries, and related models.
iv) ER Diagram
An E-R diagram may also indicate the cardinality of a relationship. Cardinality is the number of instances
of one entity that can, or must, be associated with each instance of another entity. In general, we may
speak of one-to-one, one to-many, or many-to-many relationships.
Fig.3
The interface describes how the software communicates with itself. The user
interface is the link between the users and the employers. A well-designed user
interface makes it very easy for users to learn software. The user interface
portion of software is responsible for all interaction with the user. Development of
good user interface usually takes a significant portion of the total system
development effort. GUI can be defined as a program interface that takes
advantages of the computer’s graphic capabilities to make the program easier to
use.
The “ONLINE ID CARD MANAGEMENT SYSTEM” is a web based one. Web
application
use client/server architecture. The web application resides on a server and
responds to request from multiple clients over the Internet on the client side, a
browser, such as Internet Explorer, Netscape Navigator, hosts the Web
application. The application’s user interface takes the form of HTML pages that
are interpreted and displayed by the client’s browser. On the server side, the Web
application runs under Microsoft Internet Information Services (IIS). IIS manages
the application, passes requests from clients to the application, and returns the
application’s response to the client.
ARCHITECTURAL DESIGN
It is tied to the goals established for a web App, the content to be presented, the
user who will visit and the navigation philosophy that has been established. As an
architectural designer, you must identify content architecture and WebApp
Architecture. Content architecture focuses on the manner in which content
objects are structured for presentation and navigation. WebApp Architecture
addresses the manner in which the application is structured to manage user
interaction, handle internal processing tasks, effect navigation and present
content. Architectural design - creates a blueprint for the design with the
necessary specifications for the hardware, software, people and data resources.
In this project n-Tier architecture is used for development. It can use objects for
handling business rules and data access. It has multiple servers handling
business services.
Fig.4
COMPONENT LEVEL DESIGN
CONTENT DESIGN
DATABASE DESIGN
The above diagram represents the case diagram for QR code used for generating
student ID card. The following diagram shows that the admin is accessing the following
information which we need for generating an company ID card the following are the
information accessed by the Admin are providing info, manipulating etc..Thus, after
collecting all kind of information the admin generates an ID card.
TESTING:
CONTENT TESTTING
Fig.6
Content testing checks that users can easily understand all items that appear on a
site and, importantly, that they are able to correctly interpret the information they read.
Accordingly, it identifies any problem areas that may require simplification or rewriting.
The overall purpose of testing a content concept is to figure out what content strategy you
should follow throughout the project. This system was tested for successful acceptance
and was found to be working properly. Content should be logical and easy to understand.
Check for spelling errors. Use of dark colors annoys users and should not be used in site
theme. “ONLINE ID CARD MANAGEMENT SYSTEM” follows some standards that are
used for web page and content building. These are common accepted standards like
mentioned above about annoying colors, fonts, frames, etc. Content should be meaningful.
All the anchor text links should be working properly. Images should be placed properly with
proper sizes. These are some basic standards that are followed in “ONLINE ID CARD
MANAGEMENT SYSTEM.
This tests the whole end to end scenario (which simulates exactly what the user would be
doing). This (for the most part) goes through all the mouse clicks and keyboard presses
the user goes through to get an action done.
If we extend the previous example this would be invoking the same action except that this
time instead of using any test hooks it would be using the keyboard shortcut and instead
verify the actual displayed results on the application.
User Interface testing is a process to test “ONLINE ID CARD MANAGEMENT SYSTEM”
user interface and to detect if application is functionally correct. User Interface testing
involves carrying set of tasks and comparing the result of same with the expected output
and ability to repeat same set of tasks multiple times with different data input and same
level of accuracy
Fig.7
User Interface Testing includes how the “ONLINE ID CARD MANAGEMENT SYSTEM” handles
keyboard and mouse events, how different GUI components like menu bars, toolbars, dialogs, buttons,
edit fields, list controls, images etc. reacts to user input and whether or not it performs in the desired
manner.
Implementing User Interface testing for your application early in the software development cycle
speeds up development, improves quality and reduces risks towards the end of the cycle.
User Interface Testing can be performed both manually with a human tester or could be performed
automatically with use of a software program.
COMPONENT LEVEL TESTING
Component level testing similar to unit testing but with a higher level of integration. The big difference
here is that the testing is done in the context of the application instead of just directly testing the method
in question. While testing at the component level you would have the application open and the document
displayed but you would be testing the method and evaluating its result.(without taking into account the
shortcut or what get displayed on the application afterwards).
In “ONLINE ID CARD MANAGEMENT SYSTEM”, the system consists of several modules. All modules
are tested and were found to be working properly.
FIG.8
NAVIGATION TESTING
Navigation testing confirms that all internal and external links of “ONLINE ID CARD MANAGEMENT
SYSTEM” are working properly. There is no any broken link or orphan page in application.
Once the first layers of the Software have been examined, it is time to perform simple tests to probe
the quality of the global Software navigation. Good Software will provide consistent, well-executed
navigation and should provide alternative navigation schemes, such as Software maps, indexes, and
search engines.
First, look to make sure that placement of navigation is consistent from page to page. Subtle shifting
may occur, so try browsing the site extremely fast and notice whether the menu items bounce or jump
position slightly from page to page. Even this minor variation can break the perceived stability of a site.
Next, look to see how robust the navigation is and whether multiple forms of Software navigation are
supported. Numerous navigation execution questions should be asked during this
phase. The current location clearly indicated with labels or link path indicators. The Software has text
links at the bottoms of pages. Alternative text used for graphical navigation buttons. The Software
requires excessive scrolling.
CONFIGURATION TESTING
FIG.9
The process of testing a system with each of the configuration of software and hardware that are
supported. Configuration testing is another variation on traditional performance testing .
Rather than testing for performance from the perspective of load you are testing the effects of
configuration changes in the application landscape on application performance and behavior.
“ONLINE ID CARD MANAGEMENT SYSTEM” was tested for successful acceptance and was found
to be working properly .
SECURITY TESTING
FIG.10
Security testing is the process to determine that an information system protects data and maintain
functionality as intended. During security testing, the tester plays roles of the individual who desires to
penetrate the system. The tester may attempt to acquire passwords through external clerical means;
may attack the system with custom software designed to breakdown any defenses that have been
constructed; may overwhelm the system, thereby denying service to others; may cause system errors,
hoping to find the key to system entry.
FIG.11
“ONLINE ID CARD MANAGEMENT SYSTEM” was tested for successful acceptance i.e., she/he have to
enter username or password to enter to the system. If the username and password is not correct the
message invalid username or password is displayed. So unauthorized user cannot access the system.
PERFORMANCE TESTING
FIG.12
Performance testing is designed to test the run time performance of software within the context of an
integrated system. Performance testing occurs throughout all steps in the testing process.
Even at the unit level, performance of individual module may be assessed as white box tests are
conducted, it is not until all system elements are fully integrated that true performance of a system
can be ascertained. This system was tested for successful acceptance and was found to be working
properly.
CHAPTER 4
SYSTEM IMPLEMENTATION
4.1 REQUIREMENTS
I. HARDWARE REQUIREMENTS
➢ Pillow & qrcode module using ‘pip’ command. ➢ Any one image
viewer.
The result of the project is the ID card with the unique QRCODE. The values
for company name, employee name, DOB, gender, blood group, address and phone
number are perfectly added as per the co-ordinate values. The generated QRCODE is
pasted and the final ID card is created as the end of the project.
CHAPTER 5
5.1 CONCLUSION
This application is very simple. It is easily understood to the users who has
knowledge in python and English. This project will be useful for the company for creating
ID cards when there are more employees joined at a time. As we added QRCODE in that,
the ID card is more secured and can be accessed for other purposes too.
REFERENCES
1 PYTHON - https://www.w3schools.com/python/
4 Github – www.github.com/id-card-generator/
APPENDICES
SOURCE CODE