QR Code Based Attendence Major Project
QR Code Based Attendence Major Project
PROJECT REPORT
on
QR CODE BASED ATTENDENCE SYSTEM
BACHELOR OF TECHNOLOGY
in
P. SWETHAMBIKA 21TP5A0517
T. POOJITHA 20TP1A05C0
J. MAHESH 20TP1A05F9
2023-2024
1
DEPARTMENT OF COMPUTER SCIENCE AND
TECHNOLOGY
CERTIFICATE
This is to certify that the Project report entitled “QR CODE BASED ATTENDENCE
SYSTEM” is a bonafide work done and submitted by R. RANJITHA (21TP5A0519),
P.SWETHAMBIKA (21TP5A0517), T.POOJITH (20TP1A5C0), J.MAHESH (20TP1A05F9),
during the academic year 2023-2024, in partial fulfillment of the requirement for the award
of BACHELOR OF TECHNOLOGY IN COMPUTER SECIENCE AND ENGINNERING
from Jawaharlal NehruTechnological University Hyderabad, is a bonafide record of work
carried out by them under the guidance and supervision.
Certified further that to the best of our knowledge, the work in this dissertation has not
been submitted to any other institution for the award of any degree or diploma.
2
ACKNOWLEDGEMENT
The satisfaction of completing this project would be incompelte without mentioning our
gratitude towards all the people who have supported us. Constant guidance and
encouragement have been instrumental in the completion of this project.
First and foremost, we thankful the Chairman, Secretory and Principal for availing
infrastructural facilities to complete the major project in time.
We offer our sincere gratitude to our internal guide MS. N. SUDEEPTHI REDDY,
Assistant Professor, CSE Department,Siddhartha Institute of Engineering Technology for
his immense support, timely cooperation, and valuable advice throughout the course of our
project work.
We would like to thank the Head of Department, Professor Dr. P. SUNITHA, for her
meticulous care and cooperation throughout the project work.
We are thankfull to Mr. MD. BASITH, Project Coordinator, Assistant Professor, CSE
Department,Siddhartha Institute of Engineering and Technology for his supportive
guidelines and for having provided the necessary help for carrying forward this project
without any obstacles and hindrances.
We also thank the Project Review Committee Members for their valuable suggestions.
3
DECLARATION
We here by declare the project report entitled “QR CODE BASED ATTENDENCE
SYSTEM” is an original work done and submitted to the CSE Department, Siddhartha
Institute of Engineering and Technology, affiliated to Jawaharlal Nehru Technological
University Hyderabad, in partial fulfilment of the requirement for the award of Bachelor
of Technology in CSE and it is a record of bonafide project work carried out by us under
the guidance of MS. N. SUDEEPTHI REDDY, Assistant Professor. .
We further declare that the work reported in this project has not been submitted, either in part
or in full, for the award of any other degree or diploma in this institute or any other Institute
or University.
R. RANJITHA 21TP5A0519
P. SWETHAMBIKA 21TP5A0517
T. POOJITHA 20TP1A05C0
J. MAHESH 20TP1A05F9
4
TABLE OF CONTENTS
ABSTRACT vi
ABBREVATIONS viii
1.1 OVERVIEW 1
1.2 HISTORY 2
1.3 MOTIVATION 3
1.5 OBJECTIVE 5
1.6 APPLICATIONS 6
2.1 INTRODUCTION 10
CHAPTER 8. CONCLUSION 59
CHAPTER 9. REFERENCES 60
6
LIST OF FIGURES
7
ABBREVATIONS
GB: Gigabyte
8
QR Code Based Attendance System
1. INTRODUCTION:
Nowadays, it is very important to finish the job fast, learn something new, get higher results as
easy and efficiently as you can. Every sector, especially in the education process and in the
business world, needs management systems that will enable them to have adequate control and
management in the development of learning or work. Considering all these advantages and
benefits, we thought that the process of education at the university, in particular, needs an online
system to manage student attendance. Among others, regular attendance is a basic and most
important criterion throughout the education system. Consequently, the student might lose the
right to sit an exam if attendance criterion is not met. Moreover, if students exceed the number
of allowed absences, they might also lose the right to sit final exams. Given that, the manual
method which is currently used, give space for more calculation errors. We proposed and
developed a better web-based system to help overcome such issues. It is fully responsive to
mobile phones, tablets and various computer systems users. The proposed model provides data
security and whole class or individual student attendance data can be accessed quickly and
easily, moreover, the report is automatically generated by the professor. The purpose of the
internet-based attendance system is to computerize the traditional way of registering attendance
and to provide an easier and smarter way to track institutions attendance nowadays, based on a
unique code for each professor and student known as QR code. At the beginning of each course,
to confirm their attendance, users (professors and students) are required to scan their unique
QR code assigned to them during or at the beginning of each lecture, using QR reading devices
within the classrooms. Based on this, the lecture and student attendance record and other
necessary data will be recorded. The system will help a lot in improving student attendance in
particular courses they need to attend and will save a lot of time. This paper consists of three
sections: the first part deals with the related papers; the second part details the proposed
framework; and the last part details the implementation plan according to a case study
conducted at University of Tetova – North Macedonia.
In higher education institutions, student participation in the classroom is directly related to their
academic performance. However, the majority of student attendance registration is still
9
conventionally done, which is tedious and time-consuming, especially for those courses that
involve large numbers of students. Over the years, attendance management has been conducted
manually at most of the universities. To overcome the manual attendance issues, we proposed
and implemented a smart attendance system with the aim to encourage the potential use of the
Quick Response (QR) code as a future attendance management system, to track and record
student attendance in lectures and exercises for all relevant courses, as an aim of this paper.
2. LITERATURE SURVEY:
Fast track analysis for Attendance Management System (AMS) is designed to facilitate the
lecturer in monitoring student attendance during lecture session. Monitoring attendance is
crucial especially for large group of students. Lecturers have difficulties to verify student's
attendance during class and would take up some time. Error in key in the attendance into the
system is also likely when transferring the attendance into the main system, with no way to
trace the mistakes once the class is over. Late comers would be overlooked due to recording on
the time they join the classes. Hence, a new system was innovated applying simple mechanism
which consists of RFID data logger and data analysis using ASP.net. The system is portable
and quick to verify attendances within 5 minutes regardless, of the size of the class.
Students' attendance taking and tracking are important in order to monitor students'
performance in class. More often than not, students' performance is closely related to their
attendance. Good attendance usually leads to good performance and vice versa. Therefore, any
problems related to students' attendance should be identified as early as possible so that
appropriate measures can be taken to address them. However, tracking students' attendance,
especially if done manually, can be tedious and time consuming, especially for classes will
large number of students. Not to mention issues related to attendance taking such as signatures
forgery where other students are signing on behalf of their absence friends. To address this
issue, a unique and secure attendance tracking system is proposed. The system automates most
of the steps involved in tracking students' attendance. To address the issue of signature forgery,
secret code using MD5 hashing algorithm is implemented as part of the system so that each
student will be given a unique code each day to be used for signing attendance. Implementation
10
of the system shows that the time taken to track students' attendance using this system can be
significantly reduced and the secret code is able to prevent signature forgery amongst students.
“Attendance Management System,”
In today's era regardless of the field of study or preference for defining data (quantitative,
qualitative), accurate data collection is essential for maintaining the integrity of research.
Selection of appropriate method and the device used for data acquisition reduces chances of
errors occurring. Proposed system has a small handy hardware, a remote server and software
components for acquisition of data manually or from sensors electronically. It could be used in
doing survey's, closed loop control monitoring systems in industries, hospitals, attendance
management system of schools and colleges etc. This paper presents a design and framework
for taking attendance in schools and colleges, for making troublesome process of taking and
compiling of attendance simple and efficient. As its targeted users are educational institutes
where there is a requirement of affordable, user friendly, portable, energy efficient and secure
automated system. Hence this prototype provides an amalgamated solution for replacing
existing conventional attendance system with embedded attendance system. Main advantages
are its very low cost, small size, efficient with low energy consumption.
In this era of technology smart phones play a significant role in our day to day life. Nowadays
smart phones can solve most of the problem very quickly and easily. It has made life of every
person simple and easier with different social app, commercial app, problem solving app, app
for education and marketing etc. Followed by the technology the paper purposed a system that
will handle a problem for recording the attendance. The proposed system is a couple of two
applications, one for generating the QR Code by entering the student details and second
application for taking the attendance and generating the attendance in CSV or XLS format. The
teacher will need to scan the QR code of the particular student in order to confirm their
attendance. The paper discusses how the system verifies student identity to eliminate false
registrations. The system deals with the management and evaluation of attendance of all
students. The student QR code will be provided to professor for taking their attendance. The
professor handling the subjects is responsible to mark the attendance for all students of the
group or class. The attendance will be marked as 0 and 1, 0 for absent and 1 for present in the
database of the particular student row in the table. The student attendance reports will be
generated in CSV and XLS sheet for further use.
11
“A Students Attendance System Using QR Code”
Smartphones are becoming more preferred companions to users than desktops or notebooks.
Knowing that smartphones are most popular with users at the age around 26, using smartphones
to speed up the process of taking attendance by university instructors would save lecturing time
and hence enhance the educational process. This paper proposes a system that is based on a QR
code, which is being displayed for students during or at the beginning of each lecture. The
students will need to scan the code in order to confirm their attendance. The paper explains the
high level implementation details of the proposed system. It also discusses how the system
verifies student identity to eliminate false registrations.
3. SYSTEM ANALYSIS
3.1Existing System
There are quite a number of previous researches in the field of computer science developed
students attendance tracking system to improve record taking in class using different
technologies. For example, RFID or near field communication (NFC) technology An example
of application that Jainetal has developed is a desktop application in which a list of all registered
students in a particular course is displayed when the class commences. Attendance is registered
by clicking off a checkbox next to student’s name that are present, and then for marking their
presence a register button is clicked.
Less Accuracy
3.2Proposed System
The proposed system by authors on aims to record all student participation based on the
generated unique QR code of each course for each class day. The instructors, in turn, copy this
QR code and paste it on the first slide to be displayed in the lecture. If the instructor policy is
to allow late students in his class and would like to mark them as present or late, then the QR
code should also be copied on one of the four corners of as many slides as the instructor wishes.
When the students are in class, the first thing that should be done is to pull out their smart
phones, open the Mobile Module, and scan the QR code, then the Server Module runs an
identity check on the registered students. These days it is required to keep up with the latest
12
technologies, especially in the field of education. Educational institutions have been looking
for ways to enhance the educational process using the latest technologies. Seeing as everything
moves towards digitalization, we think that this system is pretty much necessary for the
University. In this paper, we have described a proposed system that incorporates QR codes and
devices connected to internet in taking student attendance. This study shows that the QR code,
a multi-faceted and popular feature of smart devices, can be used as an efficient method of
recording attendance, replacing the old, traditional way of calling name lists in class The
proposed system provides better security than the traditional methods, including eliminating
chances of students signing up for others who may not be present. Even though similar
platforms are already developed, we believe that the proposed platform will be more attractive
for several reasons: It has a great advantage, among all types of code scanning technology; the
QR Code attendance system is the most accurate and efficient method of maintaining
attendance in a database and controlling it from any intelligent device rather than wasting paper.
High Accuracy.
Modules Information:
Admin module: admin can login to application by using username and password as ‘admin’
and ‘admin’ and then can ADD New Employee Details and then application will generate QR
CODE on EMPLOYEE ID and then admin can download that image and give to employee and
employee can show that image to QR CODE scanner to mark attendance. Admin can view all
employee details and then can view employee attendance by using start and end date.
Employee Login Module: employee can login to system by using his ID and can view his
attendance from start and end date selection
QR CODE WEBCAM SCANNER: employee has to show his QR CODE image from his
mobile to webcam and then webcam will read QR CODE and mark attendance.
Only one attendance for each employee for each day will be marked.
FUNCTIONAL REQUIREMENTS:
SOFTWARE REQIREMENTS:
System Atributes:
13
1. Username
Data base Requirements:
No need
USECASE:
• Use cases - Use cases describe the interaction between the system and external users
that leads to achieving particular goals.
1. Admin module
2. Employee Login Module
3. QR CODE WEBCAM SCANNER
User Stories:employee can view all present days date and current payable salar
14
Prototype:
python==4.5.1.48 keras==2.3.1
tensorflow==1.14.0
protobuf==3.16.0 h5py==2.10.0
sklearn-extensions==0.0.2
scikit-learn==0.22.2.post1
15
Numpy
Pandas
NON-FUNCTIONAL REQUIREMENT:
Usability: Usability is a quality attribute that assesses how easy user interfaces are to use. The
word "usability" also refers to methods for improving ease-of-use during the design
process.(how it was handle entire project easy)
Security:the quality or state of being secure: such as. a : freedom from danger : safety. b :
freedom from fear or anxiety. c : freedom from the prospect of being laid off job security.
Readability: Readability is the ease with which a reader can understand a written text.
Availability: the quality or state of being available trying to improve the availability of
affordable housing. 2 : an available person or thing.
Stages in SDLC:
Requirement Gathering
Analysis
Designing
Coding Testing
Maintenance
Requirements Gatheringstage:
The requirements gathering process takes as its input the goals identified in the high-level
requirements section of the project plan. Each goal will be refined into a set of one or more
requirements. These requirements define the major functions of the intended application, define
operational data areas and reference data areas, and define the initial data entities. Major
17
functions include critical processes to be managed, as well as mission critical inputs, outputs
and reports. A user class hierarchy is developed and associated with these major functions, data
areas, and data entities. Each of these definitions is termed a Requirement. Requirements are
identified by unique requirement identifiers and, at minimum, contain a requirement title and
textual description.
These requirements are fully described in the primary deliverables for this stage: the
Requirements Document and the Requirements Traceability Matrix (RTM). The requirements
document contains complete descriptions of each requirement, including diagrams and
references to external documents as necessary. Note that detailed listings of database tables and
fields are not included in the requirements document.
The title of each requirement is also placed into the first version of the RTM, along with the
title of each goal from the project plan. The purpose of the RTM is to show that the product
components developed during each stage of the software development lifecycle are formally
connected to the components developed in prior stages.
In the requirements stage, the RTM consists of a list of high-level requirements, or goals, by
title, with a listing of associated requirements for each goal, listed by requirement title. In this
hierarchical listing, the RTM shows that each requirement developed during this stage is
formally linked to a specific product goal. In this format, each requirement can be traced to a
specific product goal, hence the term requirements traceability.
18
The outputs of the requirements definition stage include the requirements document, the RTM,
and an updated project plan.
No. of staff required to handle a project is represented as Team Formation, in this case
only modules are individual tasks will be assigned to employees who are working for
that project.
Project Specifications are all about representing of various possible inputs submitting
to the server and corresponding outputs along with reports maintained by administrator.
Analysis Stage:
The planning stage establishes a bird's eye view of the intended software product, and uses this
to establish the basic project structure, evaluate feasibility and risks associated with the project,
and describe appropriate management and technical approaches.
The most critical section of the project plan is a listing of high-level product requirements, also
referred to as goals. All of the software product requirements to be developed during the
requirements definition stage flow from one or more of these goals. The minimum information
for each goal consists of a title and textual description, although additional information and
references to external documents may be included. The outputs of the project planning stage
19
are the configuration management plan, the quality assurance plan, and the project plan and
schedule, with a detailed listing of scheduled activities for the upcoming Requirements stage,
and high level estimates of effort for the out stages.
Designing Stage:
The design stage takes as its initial input the requirements identified in the approved
requirements document. For each requirement, a set of one or more design elements will be
produced as a result of interviews, workshops, and/or prototype efforts. Design elements
describe the desired software features in detail, and generally include functional hierarchy
diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo
code, and a complete entity-relationship diagram with a full data dictionary. These design
elements are intended to describe the software in sufficient detail that skilled programmers may
develop the software with minimal additional input.
When the design document is finalized and accepted, the RTM is updated to show that each
design element is formally associated with a specific requirement. The outputs of the design
stage are the design document, an updated RTM, and an updated project plan.
The development stage takes as its primary input the design elements described in the approved
design document. For each design element, a set of one or more software artifacts will be
produced. Software artifacts include but are not limited to menus, dialogs, and data
20
management forms, data reporting formats, and specialized procedures and functions.
Appropriate test cases will be developed for each set of functionally related software artifacts,
and an online help system will be developed to guide users in their interactions with the
software.
The RTM will be updated to show that each developed artifact is linked to a specific design
element, and that each developed artifact has one or more corresponding test case items. At this
point, the RTM is in its final configuration. The outputs of the development stage include a
fully functional set of software that satisfies the requirements and design elements previously
documented, an online help system that describes the operation of the software, an
implementation map that identifies the primary code entry points for all major system
functions, a test plan that describes the test cases to be used to validate the correctness and
completeness of the software, an updated RTM, and an updated project plan.
During the integration and test stage, the software artifacts, online help, and test data are
migrated from the development environment to a separate test environment. At this point, all
test cases are run to verify the correctness and completeness of the software. Successful
execution of the test suite confirms a robust and complete migration capability. During this
21
stage, reference data is finalized for production use and production users are identified and
linked to their appropriate roles. The final reference data (or links to reference data source files)
and production user list are compiled into the Production Initiation Plan.
The outputs of the integration and test stage include an integrated set of software, an online
help system, an implementation map, a production initiation plan that describes reference data
and production users, an acceptance plan which contains the final suite of test cases, and an
updated project plan.
During the installation and acceptance stage, the software artifacts, online help, and initial
production data are loa ded onto the production server. At this point, all test cases are run to
verify the correctness and completeness of the software. Successful execution of the test suite
is a prerequisite to acceptance of the software by the customer.
22
After customer personnel have verified that the initial production data load is correct and the
test suite has been executed with satisfactory results, the customer formally accepts the delivery
of the software.
The primary outputs of the installation and acceptance stage include a production application,
a completed acceptance test suite, and a memorandum of customer acceptance of the software.
Finally, the PDR enters the last of the actual labor data into the project schedule and locks the
project as a permanent project record. At this point the PDR "locks" the project by archiving
all software items, the implementation map, the source code, and the documentation for future
reference.
23
Maintenance:
Outer rectangle represents maintenance of a project, Maintenance team will start with
requirement study, understanding of documentation later employees will be assigned work and
they will undergo training on that particular assigned category. For this life cycle there is no
end, it will be continued so on like an umbrella (no ending point to umbrella sticks).
24
new modules and debugging old running system. All system is feasible if they are unlimited
resources and infinite time. There are aspects in the feasibility study portion of the preliminary
investigation:
• ECONOMIC FEASIBILITY
A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility, the development cost in creating
the system is evaluated against the ultimate benefit derived from the new systems. Financial
benefits must equal or exceed the costs. The system is economically feasible. It does not require
any addition hardware or software. Since the interface for this system is developed using the
existing resources and technologies available at NIC, There is nominal expenditure and
economical feasibility for certain.
OPERATIONAL FEASIBILITY
Proposed projects are beneficial only if they can be turned out into information system. That
will meet the organization’s operating requirements. Operational feasibility aspects of the
project are to be taken as an important part of the project implementation. This system is
targeted to be in accordance with the above-mentioned issues. Beforehand, the management
issues and user requirements have been taken into consideration. So there is no question of
resistance from the users that can undermine the possible application benefits. The wellplanned
design would ensure the optimal utilization of the computer resources and would help in the
improvement of performance status.
• TECHNICAL FEASIBILITY
25
User Interface
The user interface of this system is a user friendly python Graphical User Interface.
Hardware Interfaces
The interaction between the user and the console is achieved through python capabilities.
Software Interfaces
SYSTEM REQUIREMENT:
HARDWARE REQUIREMENTS:
Processor - Intel i3(min)
SOFTWARE REQUIREMENTS:
4. SYSTEM DESIGN
4. SYSTEM DESIGN
CLASS DIAGRAM:
The class diagram is the main building block of object oriented modeling. It is used both for
general conceptual modeling of the systematic of the application, and for detailed modeling
translating the models into programming code. Class diagrams can also be used for data
modeling. The classes in a class diagram represent both the main objects, interactions in the
application and the classes to be programmed. In the diagram, classes are represented with
boxes which contain three parts:
26
• The upper part holds the name of the class
• The middle part contains the attributes of the class
• The bottom part gives the methods or operations the class can take or undertake
USECASE DIAGRAM:
A use case diagram at its simplest is a representation of a user's interaction with the system
and depicting the specifications of a use case. A use case diagram can portray the different types
of users of a system and the various ways that they interact with the system. This type of
diagram is typically used in conjunction with the textual use case and will often be accompanied
by other types of diagrams as well.
user admin
view atendence
logout
logout 1
exit
SEQUENCE DIAGRAM:
A sequence diagram is a kind of interaction diagram that shows how processes operate with
one another and in what order. It is a construct of a Message Sequence Chart. A sequence
27
diagram shows object interactions arranged in time sequence. It depicts the objects and classes
involved in the scenario and the sequence of messages exchanged between the objects needed
to carry out the functionality of the scenario. Sequence diagrams are typically associated with
use case realizations in the Logical View of the system under development. Sequence diagrams
are sometimes called event diagrams, event scenarios, and timing diagrams.
start webcam
logout
successfully logout
exit
successfully exit
view attendence
logout 1
successfully logout 1
28
COLLABORATION DIAGRAM:
A collaboration diagram describes interactions among objects in terms of sequenced messages.
Collaboration diagrams represent a combination of information taken from class, sequence, and
use case diagrams describing both the static structure and dynamic behaviour of a system.
view employee
start view your add new employee details
webcam attendence details
11: view employee details
1: start webcam
3: view your attendence 10: successfully add new employee details
12: successfully view employee details
2: successfully start webcam 9: add new employee details
4: successfully view your attendence
admin
user
5: logout 13: view attendence
7: exit
16: successfully logout
6: successfully logout 14: successfully view attendence
8: successfully exit
logout view
exit logout 1 15: logout 1 attendence
COMPONENT DIAGRAM:
In the Unified Modelling Language, a component diagram depicts how components are wired
together to form larger components and or software systems. They are used to illustrate the
structure of arbitrarily complex systems.
Components are wired together by using an assembly connector to connect the required
interface of one component with the provided interface of another component. This illustrates
the service consumer - service provider relationship between the two components.
add new employe
e details
start
webcam
view employe
view your e details
attendence
admin
user
view
logout attendence
logout 1
exit
DEPLOYMENT DIAGRAM:
29
A deployment diagram in the Unified Modeling Language models the physical deployment
of artifacts on nodes. To describe a web site, for example, a deployment diagram would show
what hardware components ("nodes") exist (e.g., a web server, an application server, and a
database server), what software components ("artifacts") run on each node (e.g., web
application, database), and how the different pieces are connected (e.g. JDBC, REST, RMI).
The nodes appear as boxes, and the artifacts allocated to each node appear as rectangles within
the boxes. Nodes may have sub nodes, which appear as nested boxes. A single node in a
deployment diagram may conceptually represent multiple physical nodes, such as a cluster of
database servers.
add new
start employe
webcam
admin
user
view
logout attende
exit logout 1
ACTIVITY DIAGRAM:
Activity diagram is another important diagram in UML to describe dynamic aspects of the
system. It is basically a flow chart to represent the flow form one activity to another activity.
The activity can be described as an operation of the system. So the control flow is drawn from
one operation to another. This flow can be sequential, branched or concurrent.
30
Data flow :
Data flow diagrams illustrate how data is processed by a system in terms of inputs and outputs.
Data flow diagrams can be used to provide a clear representation of any business function.
The technique starts with an overall picture of the business and continues by analyzing each
of the functional areas of interest. This analysis can be carried out in precisely the level of
detail required. The technique exploits a method called top-down expansion to conduct the
analysis in a targeted way.
As the name suggests, Data Flow Diagram (DFD) is an illustration that explicates the passage
of information in a process. A DFD can be easily drawn using simple symbols. Additionally,
complicated processes can be easily automated by creating DFDs using easy-to-use, free
downloadable diagramming tools. A DFD is a model for constructing and analyzing
information processes. DFD illustrates the flow of information in a process depending upon
the inputs and outputs. A DFD can also be referred to as a Process Model. A DFD demonstrates
business or technical process with the support of the outside data saved, plus the data flowing
from the process to another and the end results.
31
5. IMPLEMETATION
5.1 Python
Python is a general-purpose language. It has wide range of applications from Web development
(like: Django and Bottle), scientific and mathematical computing (Orange, SymPy, NumPy) to
desktop graphical user Interfaces (Pygame, Panda3D). The syntax of the language is clean and
length of the code is relatively short. It's fun to work in Python because it allows you to think
about the problem rather than focusing on the syntax.
History of Python:
Python is a fairly old language created by Guido Van Rossum. The design began in the late
1980s and was first released in February 1991.
In late 1980s, Guido Van Rossum was working on the Amoeba distributed operating system
group. He wanted to use an interpreted language like ABC (ABC has simple easy-to-understand
syntax) that could access the Amoeba system calls. So, he decided to create a language that was
extensible. This led to design of a new language which was later named Python.
32
Why the name Python?
No. It wasn't named after a dangerous snake. Rossum was fan of a comedy series from late
seventies. The name "Python" was adopted from the same series "Monty Python's Flying
Circus".
Features of Python:
Python has a very simple and elegant syntax. It's much easier to read and write Python programs
compared to other languages like: C++, Java, C#. Python makes programming fun and allows
you to focus on the solution rather than syntax.
If you are a newbie, it's a great choice to start your journey with Python.
You can freely use and distribute Python, even for commercial use. Not only can you use and
distribute software’s written in it, you can even make changes to the Python's source code.
Portability
You can move Python programs from one platform to another, and run it without any changes.
It runs seamlessly on almost all platforms including Windows, Mac OS X and Linux.
Suppose an application requires high performance. You can easily combine pieces of C/C++ or
other languages with Python code.
This will give your application high performance as well as scripting capabilities which other
languages may not provide out of the box.
33
Unlike C/C++, you don't have to worry about daunting tasks like memory management,
garbage collection and so on.
Likewise, when you run Python code, it automatically converts your code to the language your
computer understands. You don't need to worry about any lower-level operations.
Python has a number of standard libraries which makes life of a programmer much easier since
you don't have to write all the code yourself. For example: Need to connect MySQL database
on a Web server? You can use MySQLdb library using import MySQLdb .
Standard libraries in Python are well tested and used by hundreds of people. So you can be sure
that it won't break your application.
Object-oriented
Everything in Python is an object. Object oriented programming (OOP) helps you solve a
complex problem intuitively.
With OOP, you are able to divide these complex problems into smaller sets by creating objects.
Applications of Python:
Programming in Python is fun. It's easier to understand and write Python code. Why? The
syntax feels natural. Take this source code for an example:
a=2b=3
sum = a + b
print(sum)
34
2. Not overly strict
You don't need to define the type of a variable in Python. Also, it's not necessary to add
semicolon at the end of the statement.
Python enforces you to follow good practices (like proper indentation). These small things can
make learning much easier for beginners.
Python allows you to write programs having greater functionality with fewer lines of code.
Here's a link to the source code of Tic-tac-toe game with a graphical interface and a smart
computer opponent in less than 500 lines of code. This is just an example. You will be amazed
how much you can do with Python once you learn the basics.
Python has a large supporting community. There are numerous active forums online which can
be handy if you are stuck.
35
import png from pyqrcode
import QRCode
global username
def test(request): if
request.method == 'GET':
def AdminLoginAction(request):
global username if
request.method == 'POST':
else
def UserLogin(request):
if request.method == 'GET':
36
def index(request): if
request.method == 'GET'
return render(request,
'index.html', {})
def AddEmp(request): if
request.method == 'GET':
def ViewEmpAttendanceAction(request):
if request.method == 'POST':
str(datetime.datetime.strptime(from_date, "%d-
%b-%Y").strftime("'%Y-%m-
%m-%d'")) presence_days = 0
37
width=100%>' font = '<font size="" color="black">'
cur = con.cursor()
rows = cur.fetchall()
salary = row[0]
break
cur = con.cursor()
row in rows:
presence_days = presence_days + 1
38
output += "<tr>" output +=
"<td>"+font+str(row[0])+"</td>" output +=
"<td>"+font+str(row[1])+"</td></tr>"
'AdminScreen.html', context)
def ViewEmpAttendance(request):
if request.method == 'GET':
cur = con.cursor()
row in rows:
39
def ViewAttendance(request):
render(request,
'ViewAttendance.html', {})
def ViewAttendanceAction(request):
if request.method == 'POST':
+= "</tr>"
40
rows = cur.fetchall()
salary = row[0]
break
cur = con.cursor()
presence_days = presence_days + 1
"<td>"+font+str(row[0])+"</td>" output +=
"<td>"+font+str(row[1])+"</td></tr>"
'Gender', 'Address',
41
'Designation', 'Salary'] output = '<table border=1
range(len(columns)):
"<td>"+font+str(row[0])+"</td>" output +=
"<td>"+font+str(row[1])+"</td>" output +=
"<td>"+font+str(row[2])+"</td>" output +=
"<td>"+font+str(row[3])+"</td>" output +=
"<td>"+font+str(row[4])+"</td>" output +=
"<td>"+font+str(row[5])+"</td>" output +=
"<td>"+font+str(row[6])+"</td>" output +=
"<td>"+font+str(row[7])+"</td></tr>" context=
'AdminScreen.html', context)
42
def UserLoginAction(request):
global username if
request.method == 'POST':
username =
request.POST.get('t1', False)
index = 0
emp_name = None
cur = con.cursor()
== username:
break if index == 1:
43
DownloadAction(request): if request.method ==
print("===="+username) infile =
open("AttendanceApp/static/qrcodes/"+username+".png
HttpResponse(content_type='image/png')
response['Content-Disposition'] = 'attachment;
request.POST.get('t6', False)
output = "none"
44
con = pymysql.connect(host='127.0.0.1',port = 3306,user = 'root', password = 'root', database
cur = con.cursor()
addemp(emp_id,emp_name,contact_no,gender,email,address,designation,salary)
VALUES('"+empid+"','"+empname+"','"+contact+"','"+gender+"','"+email+"','"+address+"','"
+designation+"','"+salary+"')"
db_cursor.execute(student_sql_query)
url.png('AttendanceApp/static/qrcodes/'+empid+'.png',
db_cursor.rowcount == 1:
45
6. TESTING:
Implementation and Testing:
Implementation is one of the most important tasks in project is the phase in which one has to
be cautions because all the efforts undertaken during the project will be very interactive.
Implementation is the most crucial stage in achieving successful system and giving the users
confidence that the new system is workable and effective. Each program is tested individually
at the time of development using the sample data and has verified that these programs link
together in the way specified in the program specification. The computer system and its
environment are tested to the satisfaction of the user.
The implementation phase is less creative than system design. It is primarily concerned with
user training, and file conversion. The system may be requiring extensive user training. The
initial parameters of the system should be modifies as a result of a programming. A simple
operating procedure is provided so that the user can understand the different functions clearly
and quickly. The different reports can be obtained either on the inkjet or dot matrix printer,
which is available at the disposal of the user. The proposed system is very easy to implement.
In general implementation is used to mean the process of converting a new or revised system
design into an operational one.
Testing
Testing is the process where the test data is prepared and is used for testing the modules
individually and later the validation given for the fields. Then the system testing takes place
which makes sure that all components of the system property functions as a unit. The test data
should be chosen such that it passed through all possible condition. Actually testing is the state
of implementation which aimed at ensuring that the system works accurately and efficiently
before the actual operation commence. The following is the description of the testing strategies,
which were carried out during the testing period.
System Testing
Testing has become an integral part of any system or project especially in the field of
information technology. The importance of testing is a method of justifying, if one is ready to
move further, be it to be check if one is capable to with stand the rigors of a particular situation
cannot be underplayed and that is why testing before development is so critical. When the
46
software is developed before it is given to user to use the software must be tested whether it is
solving the purpose for which it is developed. This testing involves various types through
which one can ensure the software is reliable. The program was tested logically and pattern of
execution of the program for a set of data are repeated. Thus the code was exhaustively checked
for all possible correct data and the outcomes were also checked.
Module Testing
To locate errors, each module is tested individually. This enables us to detect error and correct
it without affecting any other modules. Whenever the program is not satisfying the required
function, it must be corrected to get the required result. Thus all the modules are individually
tested from bottom up starting with the smallest and lowest modules and proceeding to the next
level. Each module in the system is tested separately. For example the job classification module
is tested separately. This module is tested with different job and its approximate execution time
and the result of the test is compared with the results that are prepared manually. The
comparison shows that the results proposed system works efficiently than the existing system.
Each module in the system is tested separately. In this system the resource classification and
job scheduling modules are tested separately and their corresponding results are obtained which
reduces the process waiting time.
Integration Testing
After the module testing, the integration testing is applied. When linking the modules there
may be chance for errors to occur, these errors are corrected by using this testing. In this system
all modules are connected and tested. The testing results are very correct. Thus the mapping of
jobs with resources is done correctly by the system.
Acceptance Testing
When that user fined no major problems with its accuracy, the system passers through a final
acceptance test. This test confirms that the system needs the original goals, objectives and
requirements established during analysis without actual execution which elimination wastage
of time and money acceptance tests on the shoulders of users and management, it is finally
acceptable and ready for the operation.
Test Case Name Test Case Test Steps Test
47
Test Desc. Step Expected Actual Test Priority
Case Case
Id
Status
01 Admin module Verify If Admin we cannot we can do High High
Admin do any further
modulemay
moduleor not operations
not upload further
operations
7. SCREENSHOTS:
All details will be stored in MYSQL database and to run project install MYSQL database and
PYTHON 3.7 and then copy content from ‘DB.txt’ file and then paste in MYSQL console to
create database.
Now double click on ‘run.bat’ file to start python web server and get below screen
48
In above screen python web server started and now open browser and enter URL as
‘http://127.0.0.1:8000/index.html’ and press enter key to get below page
In above screen click on ‘Admin Login’ link to get below login screen
49
In above screen admin is login and after login will get below screen
In above screen admin can click on ‘Add New Employee Details’ link to get below screen to
add employee details
50
In above screen admin is adding NEW Employee Details and then press button to get below
screen
In above screen employee details added and now click on ‘Click Here to Download QR Code
Image’ button to download QR image and get below output
51
In above screen in browser status bar we can see QR image is downloaded and admin will give
this image to employee and he can saved this image in mobile and then can show this image
from his mobile to WEBCAM to mark his attendance and now open that image and view QR
CODE like below screen
In above screen we can see QR code and now in application click on ‘View Employee Details’
link to get below details
52
In above screen admin can view all employee details and now to mark attendance double click
on ‘RunWebCam.bat’ file to get below screen
In above screen click on ‘Start Webcam’ button to start web cam and get below screen
53
In above screen webcam started and now employee has to show QRCODE from his mobile like
below screen and once QR code detected then system will mark attendance
In above screen to webcam I am showing QRCODE and once detected then will get below
screen
54
In above screen we got dialog box saying ‘attendance saved in database’ and each employee
each day only one time webcam will scan his QRCODE and if he want again then delete all
rows from database. Now go to previous application and then click on ‘View Attendance’ link
like in below screen
In above view attendance screen admin can view all employee names in drop down box and he
can select desired employee name and then choose start and end date like below screen
55
In above screen admin selected employee id and then select start and end date and then press
‘get Attendance’ button to get below screen
In above screen in first column we can see employee ID and in second column we can see date
on which he was present and in last column we can see his payable salary by calculating all
present days. Now logout and login as employee
56
In above screen employee can login by using his ID and then press button to get below screen
In above screen employee can click on ‘View Your Attendance’ link to get below screen
57
In above screen employee can select start and end date and then press button to view his
attendance for selected days
In above screen employee can view all present days date and current payable salary.
Similarly you can add any number of employees and go for attendance and view it
58
8. CONCLUSION:
These days it is required to keep up with the latest technologies, especially in the field of
education. Educational institutions have been looking for ways to enhance the educational
process using the latest technologies. Seeing as everything moves towards digitalization, we
think that this system is pretty much necessary for the University. In this paper, we have
described a proposed system that incorporates QR codes and devices connected to internet in
taking student attendance. This study shows that the QR code, a multi-faceted and popular
feature of smart devices, can be used as an efficient method of recording attendance, replacing
the old, traditional way of calling name lists in class. This system was developed after
reviewing and analyzing the existing manual system and an analysis of the systems used by
other Universities. This affordable QR code-based attendance system enables lecturers to speed
up the process of recording attendance, especially in a large classroom and would save them
valuable teaching time. The proposed system provides better security than the traditional
methods, including eliminating chances of students signing up for others who may not be
present. Even though similar platforms are already developed, we believe that the proposed
platform will be more attractive for several reasons: It has a great advantage, among all types
of code scanning technology; the QR Code attendance system is the most accurate and efficient
method of maintaining attendance in a database and controlling it from any intelligent device
rather than wasting paper. The acceptance of QR code by students and educators is critical to
the successful implementation of this technology. Therefore, it is important to understand the
factors that affect student and lecturer intentions to use the QR code for this purpose.
9. REFERENCES:
[3]. M. A. Abas, T. B. Tuck, and M. Dahlui, “Attendance Management System (AMS) with fast
track analysis,” in 2014, International Conference on Computer, Control, Informatics and Its
Applications (IC3INA), 2014, pp. 35–40.
59
[4]. T. J. Zhi, Z. Ibrahim, and H. Aris, “Effective and efficient attendance tracking system using
secret code,” in Proceedings of the 6th International Conference on Information Technology
and Multimedia, 2014, pp. 108– 112.
[6]. A. Manori, N. Devnath, N. Pasi, and V. Kumar, “QR Code Based Smart Attendance
System”, Int. J. Smart Bus. Technol., vol. 5, no. 1, pp. 1–10, Jul. 2017.
60
63 | P a g e