Final1 PDF
Final1 PDF
Internship Report
Submitted to
KARPAGAM ACADEMY OF HIGHER EDUCATION
Submitted by
SENTHILVEL
(23CSU112)
JUNE 2025
KARPAGAM ACADEMY OF HIGHER EDUCATION
(Deemed tobeUniversity)
(Established Under Section 3 of UGC Act, 1956)
I, hereby declare that the Internship entitled “Face Recognition Attendance App”submitted
for the B.Sc. Computer Science Degree is my original work.
Place: Coimbatore
S.No Index
1 Introduction
3 Conclusion
FACE RECOGNITION ATTENDANCE APP
INTRODUCTION
Introducing therevolutionary Face Recognition Attendance App, a cutting-edge solution
poised to transform traditional attendance tracking systems. Leveraging advanced facial
recognition technology, this app offers unparalleled accuracy and efficiency in recording
attendance. Say goodbye to cumbersome manual processes and unreliable methods – our
app streamlines the entire attendance management process with just a glance. By harnessing
biometric data, it ensures secure and foolproof identification, eliminating the possibility of
buddy punching or fraudulent practices. Seamlessly integrated with existing infrastructure, it
provides real-time monitoring and reporting capabilities, empowering administrators with
invaluable insights into attendance patterns. With its user-friendly interface and robust
features, our Face Recognition Attendance App sets a new standard in workforce
management, saving time, reducing errors, and optimizing productivity for businesses and
educational institutions alike. Experience the future of attendance tracking – effortless,
precise, and intelligent.
OBJECTIVE The objective of the face recognition attendance app is to streamline and
reatSTcoagneifMtfiiocAnieN
SdY E ntAlyL YanSdIS make informed decisions. Overall, the primary goal of the f
Tathten sdyastnecme apnpa liyss tios oefn ah afnace reeffciocgiennictiyo,n a cacttuernadcayn, acen da pcp
wexhaimle iennastuiornin ogf p irtsiv faucnyc atinodn asleictyu,r irteyq fuoir eumsernst.s , and underlying
focuses on understanding the core objectives of the application, which typically revolve around
automating the attendance tracking process using facial recognition technology. This involves
identifying key stakeholders, such as administrators, teachers, and students or employees, and
determining their respective roles within the system.
Furthermore, the analysis delves into the technical aspects of the app, including the algorithms and
mechanisms used for facial recognition, data storage, and security protocols. It also considers the
hardware requirements, such as cameras or smartphones, necessary for capturing and processing
facial images.
The system analysis also explores the user interface design, ensuring that it is intuitive and user-
friendly for all stakeholders. This includes considerations for accessibility and customization
options to accommodate various organizational needs.
Additionally, the analysis assesses the scalability and performance of the app, particularly in
scenarios involving large numbers of users and concurrent attendance recordings. This involves
evaluating the system's capacity to handle peak loads and optimizing its efficiency.
Moreover, security and privacy are paramount considerations in the analysis, with a focus on
implementing robust encryption protocols, access controls, and compliance with relevant data
protection regulations to safeguard sensitive biometric data.
EXISTING SYSTEM Currently, various face recognition attendance apps exist, offering a
database.
O ce recognized, attendance is automatically recorded, eliminating the need for manual check-
inns
or card swipes. These apps often come with additional features such as real-time monitoring,
r
thepeyo rting functionalities, and integration with existing attendance management systems. While
offer convenience and efficiency, concerns regarding privacy and data security remain
significant,
prompting the need for robust privacy policies and compliance with data protection regulations.
PROPOSED SYSTEM
A proposed system for a face recognition attendance app aims to streamline the process of
tracking
attendance in various environments, such as educational institutions or corporate settings.
Leveraging advanced facial recognition technology, the system would allow users to register
their
faces into a database securely. When individuals arrive for attendance, they would simply need
to
stand in front of a designated camera or device equipped with facial recognition capabilities.
The
system would then authenticate their identity by matching their facial features with the data
stored
in the database. This process would eliminate the need for manual attendance taking,
reducing administrative burden and potential errors. Additionally, it could offer real-time
tracking and reporting functionalities, providing administrators with valuable insights into
attendance
patterns
and trends. With its efficiency and accuracy, the proposed face recognition attendance app has
2.3 FEASIBILITY STUDY
The feasibility study deals with all the analysis that takes up in developing the project. Each
structure has to be thought of in the developing of the project, as it has to serve the end user
in a user-friendly manner. One must know the type of information to be gathered and the
system analysis consist of collecting, Organizing and evaluating facts about a system and its
environment.
The main objective of the system analysis is to study the existing operation and to learn and
accomplish the processing activities. The management of blood information provision through
android application needs to be analyzed well. The details are processed through coding
themselves. It will be controlled by the programs alone.
The organization has to buy a personal computer with a keyboard and a mouse, this is a
direct cost. There are many direct benefits of covering the manual system to
computerized system. The user can be given responses on asking questions, justification
of any capital outlay is that it will reduce expenditure or improve the quality of service or
goods, which in turn may be expected to provide the increased profits.
The Proposed system accessing process to solves problems what occurred in existing system. The
current day-to-day operations of the organization can be fit into this system. Mainly operational
feasibility should include on analysis of how the proposed system will affects the organizational
structures and procedures.
The cost and benefit analysis may be concluded that computerized system is favorable in
today’s fast moving world. The assessment of technical feasibility must be based on an
outline design of the system requirements in terms of input, output, files, programs and
procedure. The project aims to provide the blood information to all people having
android mobiles through customized android application’s activities. The current system
aims to overcome the problems of the existing system. The current system is to reduce the
technical skill requirements so that more number of users can access the application.
3.SYSTEM SPECIFICATION
3.1HARDWARE REQUIREMENTS
Thissection gives the details and specification of the hardware on which the system is expected to
work.
Initially developed by Android, Inc., which Google bought in 2005, Android was unveiled in
2007,
along with the founding of the Open Handset Alliance – a consortium of hardware, software,
and
telecommunication companies devoted to advancing open standards for mobile devices. As of
July
2
over 50 billion applications downloaded. An April–May 2013 survey of mobile application
an01d3 , the Google Play store has had over one million Android applications ("apps") published,
developers found that 71% of developers create
dapevpelilcoapteiorsn s for Android, and a 2015 survey found that 40% of full-time professional
see Android as their priority target platform, which is comparable to Apple's iOS on 37% with
borothp rietary software required for accessing Google servic[e3]s .Android is popular with
technology
p
pco
ie f tahra at broeqveu ioreth ae rrse.a Adyt- mGaodoeg,l elo Iw/O-c o2s0t1 a4n, dth ceu csotomm
olamtfpoarn
mss
denve
i ces. Its open nature has encouraged a large community of developers and enthusiasts to use the
bopilleino-ns oaucrticvee c modoen aths lay fAonudnrdoaitdio uns efrosr, cuopm fmroumn i5ty3-8d mrivi
a
redlveaasnecde db yu sGeroso ogrl eb urinndge Ar onpderno isdo tuor cdee vliicceenss oesr,i gailntahlolyu
A
detv tihcees s ualmtiem taimteley, ashs iAp nwdirtho iad choams bnion caetinotnra olifs eodp eunp sdoaut
security updates: research in 2015 concluded that almost 90% of Android phones in use had known
but unpatched security vulnerabilities due to lack of updates and support. The success of Android
has made it a target for patent litigation as part of the so-called "smartphone wars" between
technology companies.
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of
Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-
Mobile), and Chris White (headed design and interface development at WebTV) to develop, in
Rubin's words, "smarter mobile devices that are more aware of its owner's location and
preferences". The early intentions of the company were to develop an advanced operating system
for digital cameras.
Though, when it was realized that the market for the devices was not large enough, the
company diverted its efforts toward producing a smartphone operating system that would rival
Symbian and Microsoft Windows Mobile.
Despite the past accomplishments of the founders and early employees, Android Inc. operated
secretly, revealing only that it was working on software for mobile phones. That same year,
Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in
an envelope and refused a stake in the company.
In July 2005, Google acquired Android Inc. for at least $50 million, whose key employees,
winacslu ding Rubin, Miner and White, stayed at the company after the acquisition. Not much
known about Android Inc. at the time, but many assumed that Google was planning to
enter the
mobile phone market with this move.
At Google, the team led by Rubin developed a mobile device platform powered by the Linux
k
perornveidl.i nGg oao gle marketed the platform to handset makers and carriers on the promise of
flexible, upgradable system. Google had lined up a series of hardware component and
software
partners and signaled to carriers that it was open to various degrees of cooperation on their part.
Speculation about Google's intention to enter the mobile communications market continued to
build
ttho rao ugh December 2006. An earlier prototype codenamed "Sooner" had a closer resemblance
BlackBerry phone, with no touchscreen, and a physical, QWERTY keyboard, but was later re-
LenGg ineered to support a touchscreen, to compete with other announced devices such as the 2006
Prada and 2007 Apple iPhone. In September 2007, InformationWeek covered an Evalueserve
study
reporting that Google had filed several patent applications in the area of mobile telephony.
Eric Schmidt, Andy Rubin and Hugo Barra at a 2012 press conference announcing Google's
Nexus
7 tablet
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies
ainsc luding Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such
Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments,
unveiled itself, with a goal to develop open standards for mobile devices.
That day, Android was unveiled as its first product, a mobile device platform built on the
Linux
kernel. The first commercially available smartphone running Android was the HTC Dream,
released on October 22, 2008.
Since 2008, Android has seen numerous updates which have incrementally improved the
operating
2013 until 2015, Google offered several Google Play Edition devices over Google Play. While
not carrying the Google Nexus branding, these were Google-customized Android phones and
tablets that also ran the latest version of Android, free from manufacturer or carrier
modifications.
From 2010 to 2013, Hugo Barra served as product spokesperson, representing Android at
press
conferences and Google I/O, Google’s annual developer-focused conference. Barra's product
involvement included the entire Android ecosystem of software and hardware, including
H
Noexnuesy c4o mb, Ice Cream Sandwich, Jelly Bean and KitKat operating system launches, the
and Nexus 5 smartphones, the Nexus 7 and Nexus 10 tablets, and other related products
such as
Google Now and Google Voice Search, Google’s speech recognition product comparable to
Apple’s Siri. In 2013, Barra left the Android team for Chinese smartphone maker Xiaomi. The
same year, Larry Page announced in a blog post that Andy Rubin had moved from the
AInn2d0r1o4i,d G oogle launched Android One, a line of smartphones mainly targeting customers
d
in the
deivvieslioopni ntog twakoer ldo.n Inne wM paryo j2e0ct1s5 ,a tG Goooogglel ea. nHneo wunacse
rde pPlarocejedc tb yB rSiullnod aasr Pa icchuat-i dwohwon bveecrasmioen thoef
Anenwd roid that uses its lower levels (excluding the user interface), intended for the "Internet of
Thehaindg os"f (AIonTd)r eomidb eadndde dC shyrsotemmes .O S, and, later, by Hiroshi
Lockheimer when Pichai became
CEO of
Google.
INTERFACE Notifications are accessed by sliding from the top of the display; individual
ofis missed by sliding them away, and may contain additional functions as seen on this example
notifications can be
d
the "missed call" notification from an older version of Android. Android's default user interface
allowing
sthteee ruinsegr to steer a vehicle in a racing game by rotating the device, simulating control of a
wheel. Android devices boot to the homescreen, the primary navigation and information "hub"
on Android
devices that is analogous to the desktop found on PCs (Android also runs on regular PCs, as
described below). Android homescreens are typically made up of app icons and widgets; app
icons
Third-party apps available on Google Play and other app stores can extensively re-theme the
homescreen, and even mimic the look of other operating systems, such as Windows Phone.
Most manufacturers, and some wireless carriers, customise the look and feel of their Android
devices to differentiate themselves from their competitors. Applications that handle
interactions with the homescreen are called "launchers" because they, among other purposes,
launch the applications installed on a device.
Present along the top of the screen is a status bar, showing information about the device
and its
connectivity. This status bar can be "pulled" down to reveal a notification screen where apps
display important information or updates, such as a newly received email or SMS text, in a way
that
d
(boye s not immediately interrupt or inconvenience the user. Notifications are persistent until read
tapping, which opens the relevant app) or dismissed by sliding it off the screen. Beginning
on
A
fonr droid 4.1, "expanded notifications" can display expanded details or additional functionality;
instance, a music player can display playback controls, and a "missed call" notification
provides
buttons for calling back or sending the caller an SMS message.
Android provides the ability to run applications which change the default launcher and hence
the
mapupletia-rance and externally visible behaviour of Android. These appearance changes include a
page dock or no dock, and many more changes to fundamental features of the user interface.
APPLICATIONS Applications ("apps"), which extend the functionality of devices, are written
using the Android
software development kit (SDK) and, often, the Java programming language that has complete
access to the Android APIs. Java may be combined with C/C++, together with a choice of
non-
d
suepfapuolrtt erdu ntimes that allow better C++ support; the Go programming language is also
since its version 1.4, which can also be used exclusively although with a restricted set of
Android
A
soPftIws.a rTeh e SDK includes a comprehensive set of development tools, including a debugger,
libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials.
SatupdliricooaitdioDnse
Apnd vpeulbolpismheedn tb yT oGoolso g(lAe DanTd) thpilrudg-ipna;
, etlheearseertiny
da reA
dDeveecle
mndorr
,
o
bnasee md iollnio Inn taepllpiJli cIDatEioAns, aasv aitisla pbrliem faorry A InDdEro fiodr iAn nPdlaroy i
dapevpelilocaptmioennst htoaovles baeree na vinasiltaabllleed, ifnrcolmud Ginog oag nlea tPivlaey d Sevto
extensions in C or C++, Google App Inventor, a visual environment for novice programmers,
and
various cross platform mobile web applications frameworks. In January 2014, Google unveiled
an
were installed. Some carriers offer direct carrier billing for Google Play application purchases,
where the cost of the application is added to the user's monthly bill.
Due to the open nature of Android, a number of third-party application marketplaces also
exist for
A
Plnadyr oid, either to provide a substitute for devices that are not allowed to ship with Google
Store, provide applications that cannot be offered on Google Play Store due to policy violations,
or
Gfoert Joatrh,e r reasons. Examples of these third-party stores have included the Amazon
Appstore,
ManEd MSlOidReYM eM. AF-NDAroGidE,M aEnoNtThe Sr inacltee rAnnatdirvoei dm
theasitg anreedaacree,
daervkiectepsl to manage memoryyt ob aottnelryy -pproowveidreed ,a pApnlidcraotiido niss
usseueaklsl
d wd(RihsAtircMihb u) tteod kuenedpe rp forewee ar ncdo nopsuemn psotiuornc ea lti cae
unofficial ports)[,5] together with an OpenGL ES 2.0 compatible graphics processing unit (GPU).
Android supports OpenGL ES 1.1, 2.0, 3.0 and 3.1. Some applications may explicitly require a
certain version of the OpenGL ES, and suitable GPU hardware is required to run such applications.
Android devices incorporate many optional hardware components, including still or video
cameras, GPS, orientation sensors, dedicated gaming controls, accelerometers, gyroscopes,
barometers, magnetometers, proximity sensors, pressure sensors, thermometers, and touchscreens.
Some hardware components are not required, but became standard in certain classes of devices,
such as smartphones, and additional requirements apply if they are present.
Some other hardware was initially required, but those requirements have been relaxed or
eliminated
altogether. For example, as Android was developed initially as a phone OS, hardware such as
microphones were required, while over time the phone function became optional. Android
used to
r
theqe uire an autofocus camera, which was relaxed to a fixed-focus camera if present at all, since
camera was dropped as a requirement entirely when Android started to be used on set-top boxes.
In addition to running on smartphones and tablets, several vendors run Android natively on
regular
PC hardware with a keyboard and mouse. In addition to their availability on commercially
available
hardware, similar PC hardware–friendly versions of Android are freely available from the
Android-
x86 project, including customized Android 4.4. Using the Android emulator that is part of
the
Android SDK, or by using BlueStacks or Andy, Android can also run non-natively on x86.
Chinese companies are building a PC and mobile operating system, based on Android, to
"compete
directly with Microsoft Windows and Google Android". The Chinese Academy of Engineering
Inno 2t0e0d7 t,h tahte " gmroeeren tAhannd rao dido zloeng"o cwoams pdaensiiegsn wede rfeo cr uGstooom
doensi gn teamno
was
fo tasked
ainwith
a project toocreate a universally identifiable icon with the specific design dev
thcelu ussieo
DctEioVnE aLnOd Wf rdoobwost
PspMaEceN mTo 8in
vies, nth
the geo
teamfvienranlm
eventually deensitg
sought PnC. sA.
inspirationfter numerous
from the human symbo
in
fi
restroom doors and modified the figure into a robot shape. As Android is open-sourced, it was
aAgrnederdo tihda its tdheev leolgoop esdh oinul dp rbivea ltike ebwyi sGe,o aongdle s uinnctei li ttsh ela lu
inbteo countless variations on the original design.
4r.e2le , at
run Ba AseCdK E wNhDic h point the source code is made available publicly. This source code will only
wINitThRouOt DmUoCdiTfiOcaNti oSnQ oLni tsee leics t ad evreiclaetsi,o unsaul aldlyat tahbea sNe exm
in
p
turrong,r aamdampitnegd lbibyr aOrEy.M Ins to run on their hardware. Android's source code does not co
ocoftnetnr ast to many other database management systems, SQLite is not a client–server database
penrogpinreie. tRarayt hdeerv, iicte i sd erimvebresd tdheadt ainrteo n teheed eendd f oprr ocegrrtaamin. h
SQLite is ACID-compliant and implements most of the SQL standard, using a dynamically
and
weakly typed SQL syntax that does not guarantee the domain integrity.
SQLite is a popular choice as embedded database software for local/client storage in application
software such as web browsers. It is arguably the most widely deployed database engine, as it is
used today by several widespread browsers, operating systems, and embedded osythsteerms.[6s],
SaQmLointeg has bindings to many programming languages.
DESIGN
Unlike client–server database management systems, the SQLite engine has no standalone processes
with which the application program communicates. Instead, the SQLite library is linked in and thus
becomes an integral part of the application program. The library can also be called dynamically. The
application program uses SQLite's functionality through simple function calls, which reduce
latency in database access: function calls within a single process are more efficient than inter-
process communication. SQLite stores the entire database (definitions, tables, indices, and the data
itself) as a single cross-platform file on a host machine. It implements this simple design by locking
the entire database file during writing. SQLite read operations can be multitasked, though writes
can only be performed sequentially.
Due to the server-less design, SQLite applications require less configuration than client-server
databases. SQLite is called zero-con[f7 ]because it does not require service management (such as
startup scripts) or access control based on GRANT and passwords.
Access control is handled by means of File system permissions given to the database file
itself. Databases in client-server systems use file system permissions which give access to the
database
files only to the daemon process.
Another implication of the serverless design is that several processes may need to be able to
write
dtoa etmheo nd,a tabase file. In server-based databases, several writers will all connect to the same
which is able to handle its locks internally. SQLite on the other hand has to rely on file-
system
tloiemncksees.
s .o Ift thae sS[9]lQesLs sktnanodwalerd.ge of Othnee omthaejor rp dreovcieastsieosn tihs atth
TSQheLrietfeo dreo,e sS QnoLti teen fios rnceo tt ytphee cphreecfkeirnregd; thche otiycpee foofr aw vraitl
by the schema (although the schema will trigger a conversion when storing, if such a conversion is
psiomtepnlet ially reversible). SQLite strives to follow Postel's Rule.
pu
SQaseLsriiesw
q ith little concurrency, SQ Liteperformanceprofitsfromavoidingtheoverheadof
implements most of the SQL-92 standard for SQL but it lacks some features. For example,
iitts p adrattiaa lltyo parnoovitdheesr tprirgogceersss,. aSnQd Liti tcea nu'ts ews rPitoe sttog rveiSewQsL (
Pthoastt gprreoSvQidLe dthoi”s fisu nucsetido ntoa lmitya)k. eW hile it provides complex queries, it still h
TABLE function, as it can't modify or delete columns.
SQLite uses an unusual type system for an SQL-compatible DBMS; instead of assigning a type to a
column as in most SQL database systems, types are assigned to individual values; in language terms
it is dynamically typed. Moreover, it is weakly typed in some of the same ways that Perl is: one can
insert a string into an integer column (although SQLite will try to convert the string to an integer
first, if the column's preferred type is integer). This adds flexibility to columns, especially
when bound to a dynamically typed scripting language.
However, the technique is not portable to other SQL products. A common criticism is that
SQLite's
type system lacks the data integrity mechanism provided by statically typed columns in other
products. The SQLite web site describes a "strict affinity" mode, but this feature has not yet
been
added. However, it can be implemented with constraints like CHECK(typeof(x)='integer').
Several computer processes or threads may access the same database concurrently. Several
read
a
acrec esses can be satisfied in parallel. A write access can only be satisfied if no other accesses
currently being serviced. Otherwise, the write access fails with an error code (or can
automatically
be retried until a configurable timeout expires). This concurrent access situation would change
when dealing with temporary tables. This restriction is relaxed in version 3.7 when write-
ahead
logging (WAL) is turned on enabling concurrent reads and writes.
S5.QPLRiOteJ EvCerTs ioDnE S3C.7R.4I PfTirIsOt Nsa wT hteh eu saerd dwitililo nfi rsotfl yt hdeo wFn
their mobile devices. Once installed,
fTnhhe
theaist
arpeps
u
licationwillremainintothe device permanently until the user deletes it or uninstalls it.
module. FTS4 allows users to perform full text searches
oe ancementsovertheolderFTS3
ient will have to register in the application on first use. After registration, the patient will
documents similar to how search engines search webpages. Version 3.8.2 added support for
Ccrrcaitvine
e e
aoemay ntableswithoutrowid,wh
ich
tambasemog provide space and performance improvements.
epassword
um meandpassword.Forsign
leilr,na and then the user clicks on the register button to register itself and then all the
function
5iins. 1foo pSrtmYioaSntTaioEl.n M ARCHIETECTURE The architecture of the College Selector App is
provided by the user is saved in the database located on the server
ensure a robust and scalable platform
ethxapte riseenacme.l essly integrates various components to deliver an efficient and user-friendly
The app's architecture comprises three main layers: the presentation layer, the application layer,
and
athpep .d Iatt a layer. The presentation layer is the user interface, where students interact with the
includes features such as a user-friendly dashboard, search functionality, and personalized
recommendation displays. The application layer contains the core logic of the app, including
algorithms for analyzing user profiles and generating personalized college recommendations.
This
layer is responsible for processing user inputs, managing data flow, and ensuring the seamless
functioning of the app's features. The data layer involves a centralized database that stores
comprehensive information about colleges, including academic criteria, campus facilities,
faculty
details, and more. This layer ensures quick and reliable access to the necessary data, supporting
the
Overall, the College Selector App's architecture is meticulously designed to provide a cohesive and
efficient platform for students to navigate the complex landscape of college selection.
5.2 EXPECTED OUTCOME The expected outcome of the College Selector App is a
transformative and empowering experience afo r students engaging in the college selection process.
By leveraging advanced algorithms and
user-friendly interface, the app aims to streamline the traditionally complex and time-
consuming
btaasske do f choosing the right college. The personalized recommendations generated by the app,
on individual profiles and diverse criteria, will empower students to make well-informed
decisions
aligned with their academic, financial, and personal preferences. The centralized database with
comprehensive information about colleges, coupled with features such as virtual campus tours
and urenadl-etrismtaen daindgm oisfs ion updates, will enhance user engagement and provide a
holistic
each institution. Ultimately, the College Selector App anticipates reducing the stress and
uncertainty associated with college selection, offering students a more efficient, informed, and
confident approach to finding the educational institution that best suits their needs and 6.1UNIT
TESTING
aspirations.
T
cohmropuagnhio nit sin innovative features and functionality, the app strives to be a valuable
gInu iduinnigt stteusdtienngt,s utoswera rhdass at osu tcecsets stfhuel apnrdo gfuralfmillsi nmg
Integration testing is a systematic technique for constructing the program structure. While at the
same time conducting tests to uncover errors associated with interfacing. The objective is to take
unit tested modules and build a program structure that has been dictated by design.
In this integration testing its done using the main module and based on the type of
integration testing the subordinate tables and other criteria along with their path, is replaced one at a
time with actual modules. In the project, after integrating the all modules of like Donor details,
Accessor, Blood Donated and Request details modules are tested with their integration and that
could integrated and manipulated with respect to the to and fro in between modules.
7. SYSTEM IMPLEMENTATION
The implementation of a face recognition attendance app involves several key steps to ensure
its functionality and efficiency. Firstly, the development team must integrate robust facial
recognition algorithms into the application, which involves utilizing advanced machine
learning and computer vision techniques to accurately identify individuals based on their
facial features. This may require training the system with a diverse dataset to improve
recognition accuracy across various demographics and conditions.
Once the facial recognition functionality is in place, the app needs to be designed with a user-
friendly interface, allowing both administrators and users to easily navigate the application.
Administrators should have access to features such as managing user accounts, setting up
attendance schedules, and generating reports.
For users, the app should provide a seamless experience for clocking in and out using facial
recognition technology. This involves capturing facial images in real-time, comparing them against
a database of registered users, and recording attendance data accurately.
Furthermore, the implementation process involves ensuring data security and privacy measures are
in place to protect sensitive information. This includes encrypting data transmission, implementing
secure authentication mechanisms, and adhering to regulatory guidelines such as GDPR or HIPAA,
depending on the application's use case and jurisdiction.
Testing is a crucial phase in the implementation process to identify and address any bugs or issues
before deploying the app. This involves conducting thorough testing across different devices and
environments to ensure compatibility and reliability.
Finally, once the app has been thoroughly tested and refined, it can be deployed to users and
administrators, with ongoing support and maintenance to address any future issues and updates.
Continuous monitoring and feedback from users can also help improve the app's performance and
functionality over time.
System implementation is made up of many activities. The six major activities are as follows.
Coding
Coding is the process of whereby the physical design specifications created by the analysis team
turned into working computer code by the programming team.
Testing
Once the coding process is begin and proceed in parallel, as each program module can be tested.
Installation
Installation is the process during which the current system is replaced by the new system.
This includes conversion of existing data, software, and documentation and work procedures to
those consistent with the new system.
Documentation
It is result from the installation process, user guides provides the information of how the use the
system and its flow.
Training and support
Training plan is a strategy for training user so they quickly learn to the new system. The
development of the training plan probably began earlier in the project.
The best-suited application package to develop the system is JDK 1.6 with Eclipse Mars IDE under
windows XP’ environment.
Looking ahead, there are several avenues for future enhancements to further improve the app's
functionality and user experience. Integration with additional features such as geolocation tracking
could enhance accountability and facilitate remote attendance monitoring. Moreover, refining the
facial recognition algorithms to increase accuracy, particularly in varying lighting conditions and
for diverse facial features, would enhance the reliability of the app. Additionally, incorporating
machine learning techniques for predictive analytics could enable the app to anticipate attendance
trends and provide proactive recommendations for optimizing resource allocation. Overall,
continued innovation and refinement of the face recognition attendance app hold the potential to
revolutionize attendance management systems across various sectors.
9.APPENDIX
9.1SOURCE CODE
ACTIVITYMAIN.XML
<include
layout="@layout/main_toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="15dp"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Dashboard"
android:textStyle="bold"
android:textSize="20sp"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="20dp"
android:background="#c0c0c0" />
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
android:columnOrderPreserved="false"
android:columnCount="2"
android:rowCount="1" >
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/my_schedule"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="6dp"
app:cardCornerRadius="10dp"
android:layout_margin="10dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="15dp"
android:gravity="center" >
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/doc_schedule"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="MySchedule"
android:textColor="#6f6f6f"
android:gravity="center"
android:textSize="18sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/my_app"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
app:cardElevation="6dp"
app:cardCornerRadius="10dp"
android:layout_margin="10dp" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="15dp"
android:gravity="center" >
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/doc_appointent"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="MyAppointments"
android:textColor="#6f6f6f"
android:gravity="center"
android:textSize="18sp" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</GridLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white" >
<include
layout="@layout/main_nav_drawer" />
</RelativeLayout>
</androidx.drawerlayout.widget.DrawerLayout>
RESCHEDULE.JAVA
package com.example.patientdemo;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import de.hdodenhof.circleimageview.CircleImageView;
RecyclerView slotCards;
CircleImageView img;
TextView name, time, price;
Button btn;
EditText remarks;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_reschedule);
drawerLayout = findViewById(R.id.drawer_layout);
nav_name = findViewById(R.id.nav_name);
nav_name.setText(PatientDashboard.UserName);
dr_name = getIntent().getExtras().getString("dr_name");
slot = getIntent().getExtras().getString("slot");
btn = findViewById(R.id.re_btn);
mDatabase = FirebaseDatabase.getInstance();
mRef = mDatabase.getReference("doctors");
img = findViewById(R.id.re_dr_image);
name = findViewById(R.id.re_dr_name);
remarks = findViewById(R.id.re_remarks);
time = findViewById(R.id.re_dr_time);
price = findViewById(R.id.re_dr_price);
slotCards = findViewById(R.id.reschedule_slots);
ref1 = FirebaseDatabase.getInstance().getReference("doctors").child(dr_name);
ref2 =
FirebaseDatabase.getInstance().getReference("patients").child(PatientDashboard.UserName).child(
"active_app");
name.setText(dr_name);
Glide.with(this)
.load(getIntent().getExtras().getString("dr_img"))
.error(R.drawable.doctor_image).into(img);
dr_price = snapshot.child("price").getValue(String.class);
remarks.setText(snapshot.child("remarks").getValue(String.class));
time.setText(snapshot.child("time").getValue(String.class));
price.setText(snapshot.child("price").getValue(String.class));
}
@Override
publicvoidonCancelled(@NonNull DatabaseError error) {
}
});
mListener=new ValueEventListener() {
@Override
publicvoidonDataChange(@NonNull DataSnapshot snapshot) {
slotTimes.clear();
docTimings.clear();
docReserved.clear();
for(DataSnapshot slot: snapshot.getChildren()) {
Stringstand = slot.getValue(String.class);
slotTimes.add(slot.getKey())
;
if(sdtoacnTdi.meqiunaglss.(a"dAdv(saliolat.bglet"K)) ey());
elseif(stand.equals("Reserved"))
docReserved.add(slot.getKey());
}
Collections.sort(slotTimes, new Comparator<String>() {
@SuppressLint("SimpleDateFormat")
@Override
publicint compare(String o1, String o2) {
try{
return new SimpleDateFormat("hh:mm a").parse(o1).compareTo(new
SimpleDateFormat("hh:mm a").parse(o2));
}catch (ParseException e) {
return 0;
}
}
});
slotCards(slotTimes);
}
@Override
publicvoid onCancelled(@NonNull DatabaseError error) {
}
};
mRef.child(dr_name).child("slots").addValueEventListener(mListener);
privatevoidslotCards(ArrayList<String> slotTimes) {
slotCards.setHasFixedSize(true);
slotCards.setLayoutManager(new LinearLayoutManager(this));
slotCards.setLayoutManager(manager);
adapter.setLayoutManager(manager);
slotCards.setAdapter(adapter);
btn.setOnClickListener(v -> {
if(sItem != null) {
ref2.child(dr_name + slot).removeValue();
ref1.child("slots").child(slot).setValue("Available");
ref1.child("my_app").child(slot).removeValue();
ref1.child("slots").child(sItem).setValue("Booked");
ref2.child(dr_name + sItem).child("name").setValue(dr_name);
ref2.child(dr_name + sItem).child("time").setValue(sItem);
ref2.child(dr_name + sItem).child("price").setValue(dr_price);
ref2.child(dr_name + sItem).child("remarks").setValue(remarks.getText().toString());
ref2.child(dr_name +
sItem).child("image").setValue("https://firebasestorage.googleapis.com/v0/b/my-application-
6d359.appspot.com/o/images%2Fkakashi.jpg?alt=media&token=348a2050-641e-44f8-9c3f-
80c740c917a3");
ref1.child("my_app").child(sItem).child("patient").setValue(PatientDashboard.UserName);
ref1.child("my_app").child(sItem).child("remarks").setValue(remarks.getText().toString());
finish();
}
else
}
CONCLUSION
Face Recognition, Attendance Management, Facial Recognition Algorithms, Real-
time Detection, Biometric Identification, Efficiency, Accuracy, Automated System,
Administrative Optimization.