0% found this document useful (0 votes)
290 views27 pages

Project Report

This document outlines an Android-based attendance management system that uses Firebase as the backend database. The proposed system aims to address the disadvantages of manual attendance tracking like time consumption, data loss issues, and lack of accurate attendance reports. It describes the existing system, proposed mobile app solution, system analysis including technical and economic feasibility study, and high-level system design including data flow diagrams. The system is intended to automate attendance marking and provide easy access to attendance data for both students and staff.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
290 views27 pages

Project Report

This document outlines an Android-based attendance management system that uses Firebase as the backend database. The proposed system aims to address the disadvantages of manual attendance tracking like time consumption, data loss issues, and lack of accurate attendance reports. It describes the existing system, proposed mobile app solution, system analysis including technical and economic feasibility study, and high-level system design including data flow diagrams. The system is intended to automate attendance marking and provide easy access to attendance data for both students and staff.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

S.

NO CONTENTS

1 INTRODUCTION
1.1 ABOUT THE PROJECT
2 SYSTEM STUDY
2.1 EXISTING SYSTEM
2.2 DISADVANTAGE EXISTING SYSTEM
2.3 PROPOSED SYSTEM
2.4 ADVANTAGE OF PROPOSED SYSTEM
2.5 PROBLEM DEFINITION AND DESCRIPTION
3 SYSTEM ANALYSIS
3.1 PACKAGE SELECTED
3.2 RESOURCE REQUIRED
3.3 FESIBILITY STUDY
3.4 DATAFLOW DIAGRAM
4 SYSTEM DESIGN
4.1 ARCHITECTURAL DESIGN
4.2 INPUT/OUTPUT FORM DESIGN
4.3 TABLES
4.4 NORMALIZATION
4.5 E-R DIAGRAM
5 SYSTEM DEVELOPMENT
5.1 FUNCTIONAL DOCUMENTATION
6 TESTING
6.1 TYPE OF TESTING
6.2 TEST DATA & OUTPUT
7 USER MANUAL
7.1 HARWARE REQUIREMENT
7.2 SOFTWARE REQUIREMENT
8 CONCLUSION
8.1 SUMMARY OF THE PROJECT
8.2 FUTURE POSSIBILITIES
BIBLIOGRAPHY
APPENDIX
> SAMPLE CODE
> SAMPLE OUPUT
1. INTRODUCTION

1.1. ABOUT THE PROJECT

This project entitled as “ANDROID ATTENDANCE MANAGEMENT SYSTEM


USING FIREBASE DATABASE”. The main objective of this project is to carry out some of the
emerging technologies like mobile computing, Information and Communication Technology and
advances in behavioural science studies to enhance and enriched the current educational
system scenario, since the educational technology in India has been get modernizing in the recent
past years due to the development and penetration of Information and Technology. The
mobile based technology has been chosen for this study as well as for the project. The methodology
of this work is to developed an android based mobile application attendance management system
where attendance can be recorded via mobile devices using Google’s “FIREBASE” database a
real-time server. This developed software stores, retrieves and deliver the information about the
student information such as present or absent through mobile device in the provided server database.
The final result of this project is very useful for the educational organizations to keep,
track and maintain the database of students.
2. SYSTEM STUDY

2.1. EXISTING SYSTEM


 Manually calculated maintenance of data
 Suddenly searching for any type of related data is very difficult as well as it creates
mess over there.
 It not provides the accurate data of attendance of students in the percentage calculation
form.
 Portability.

2.2. DISADVANTAGE OF EXISTING SYSTEM

1. High burden,
2. Losing of data problem can be occurred easily.

2.3 PROPOSED SYSTEM

Our system is a user-friendly, flexible and full featured android attendance management
tool, which allows controlling student attendance by automatically timekeeping and attendance
tracking. Android attendance management system primarily focuses on building an efficient and user-
friendly Android mobile application for an Attendance Monitoring using the Advanced database
called Google’s firebase database. The application will be installed on the professor’s phone as well
as student’s phone which runs android OS. It intends to provide an interface to the professor who will
require minimal details to input for marking of attendance of a particular class of students. Apart from
that, the application would support strong user authentication and quick transmission of data.
• Security of data.

• Ensure data accuracy’s.

• Minima manual data entry.

• Greater efficiency.

• Better service.

• User friendliness and interactive.


• Minimum time required
2.4. ADVANTAGE OF PROPOSED SYSTEM

1. Less time consuming,

2. Access details through the system.

2.5. PROBLEM DEFINITION AND DESCRIPTION

This project entitled as “ANDROID ATTENDANCE MANAGEMENT SYSTEM USING FIREBASE


DATABASE”. The aim of the project is to maintain the student and staff details. Attendance
Management System is software developed for daily student attendance in schools, colleges and
institutes. It facilitates to access the attendance information of a student in a class. This system will also
help in evaluating attendance eligibility criteria of a student. By just a click on the mouse, the system
will be able to produce the students' attendance report thus reducing the need for manual labour which
is prone to human errors and time consuming. This application is built for automating the processing of
attendance. It also enhances the speed of performing attendance task easily. The student and staff have
unique user login id and password available. The student can only view the attendance record on
weekly, monthly, and whole semester basis. The staff can view as well as modify the attendance record.
Printing facility for attendance record is available for both students and staff.
3. SYSTEM ANALYSIS

3.1. PACKAGE SELECTED

Front End: Designing - XML, Development - JAVA.


Back End: Google’s Firebase Realtime Database.
Operating System: Windows Family.

3.2. RESOURCES REQUIRED

Hardware Specification

RAM : 4 GB
MONITOR : LCD COLOR
HARD DISK : 40 GB
KEYBOARD : Multimedia Keyboard
MOUSE : Optical Buttons

Software Specification

OPERATING SYSTEM : Windows 10


FRONT END : XML & JAVA
BACK END : Firebase Database

3.3 FEASIBILITY STUDY

Feasibility study is made to see if the project on completion will serve the purpose of
the organization for the amount of work, effort and the time that spend on it. Feasibility study lets the
developer foresee the future of the project and the usefulness. A feasibility study of a system proposal
is according to its workability, which is the impact on the organization, ability to meet their user needs
and effective use of resources. Thus, when a new application is proposed it normally goes through a
feasibility study before it is approved for development.

The document provides the feasibility of the project that is being designed and lists
various areas that were considered very carefully during the feasibility study of this project such as
Technical, Economic and Operational feasibilities. The following are its features:
TECHNICAL FEASIBILITY

The system must be evaluated from the technical point of view first. The assessment
of this feasibility must be based on an outline design of the system requirement in the terms of input,
output, programs and procedures. Having identified an outline system, the investigation must go on to
suggest the type of equipment, required method developing the system, of running the system once it
has been designed.

Technical issues raised during the investigation are:

 Does the existing technology sufficient for the suggested one?

 Can the system expand if developed?

The project should be developed such that the necessary functions and performance
are achieved within the constraints. The project is developed within latest technology. Through the
technology may become obsolete after some period of time, due to the fact that never version of same
software supports older versions, the system may still be used. So, there are minimal constraints
involved with this project. The system has been developed using Java the project is technically feasible
for development.

ECONOMIC FEASIBILITY

The developing system must be justified by cost and benefit. Criteria to ensure
that effort is concentrated on project, which will give best, return at the earliest. One of the factors,
which affect the development of a new system, is the cost it would require.

The following are some of the important financial questions asked during preliminary
investigation:

 The costs conduct a full system investigation.

 The cost of the hardware and software.

 The benefits in the form of reduced costs or fewer costly errors.


Since the system is developed as part of project work, there is no manual cost to
spend for the proposed system. Also, all the resources are already available, it gives an indication of
the system is economically possible for development.

BEHAVIORAL FEASIBILITY

This includes the following questions:

• Is there sufficient support for the users?

• Will the proposed system cause harm?

The project would be beneficial because it satisfies the objectives when developed and
installed. All behavioural aspects are considered carefully and conclude that the project is
behaviourally feasible.

3.4. DATA FLOW DIAGRAM

Data Flow Diagram (DFD) is one of the best ways if documenting the entire functionality of
the system. For any system, which will have some data inflows, processing and data outflows from
the system can be documented or represented effectively by the means of the data flow diagram. It is
a diagrammatic representation of the system.
LEVEL 0 DFD
Admin Details Admin

Login
details
Login Student Details
Student
Login process

Staff Details Staff

LEVEL 1 DFD
Add Details
Staff details
Administrator Staff

Admin id, Staff id, New View results


password password register
results

Login Staff
Add login
details

verify

validate
Login Login

4.DESIGN
4.1 ARCHITECTURAL DESIGN
4.2 INPUT AND OUTPUT FORM DESIGN

ADMIN LOGIN

Admin login helps to enter into the admin area where the admin can add/remove staff and
students details.

STAFF LOGIN

Through the staff login the staff can take attendance for various classes and students. They
can also view the report of the students attendance reports.
STUDENT LOGIN

Students can view their attendance report details according to the date, class and period.

ADMIN HOME PAGE

This is the admin home page where the admin can add/remove staff and students, generate
databases for everyday and can change the password for him.
4.3 TABLES
Table Design
Table: Admin, Staff, Student Login
Primary: Username
Field Name Data Type Constrains Description
Username Varchar(20) Not Null Primary Key
Password Varchar(20) Not Null

Table: Add/Remove Staff


Primary: Staff id
Field Name Data Type Constrains Description
Staff Name Text Not Null
Staff ID Varchar (20) Not Null Primary key
Subject NVarchar (50) Not Null
Class NVarchar (50) Not Null
Password NVarchar (50) Not Null

Table: Add/Remove Staff


Primary: Staff id
Field Name Data Type Constrains Description
Student Name Text Not Null
Student ID Varchar (20) Not Null Primary key
Class NVarchar (50) Not Null
Password NVarchar (50) Not Null

Table: Attendance
Primary: Staff id
Field name Data Type Constrains Description
Staff ID Varchar (20) Not Null
Class NVarchar (50) Not Null
Period No NVarchar (50) Not Null
4.4 NORMALIZATION

Normalization is the process of minimizing redundancy from a relation or set of


relations. Redundancy in relation may cause insertion, deletion and updation anomalies. So, it helps
to minimize the redundancy in relations. Normal forms are used to eliminate or reduce redundancy
in database tables.

First Normal Form

If a relation contain composite or multi-valued attribute, it violates first normal form


or a relation is in first normal form if it does not contain any composite or multi-valued attribute. A
relation is in first normal form if every attribute in that relation is singled valued attribute.

STAFF ID STAFF NAME CLASS NAME SUBJECT

101 KARTHICK IT-A, IT-B DBMS

102 PRAVEEN IT-B INTERNET


PROGRAMMING

103 RAHUL IT-A DATA STRUCTURE

NORMALIZED FORM
STAFF ID STAFF NAME CLASS NAME SUBJECT

101 KARTHICK IT-A DBMS

101 KARTHICK IT-B DBMS

102 PRAVEEN IT-B INTERNET


PROGRAMMING

103 RAHUL IT-B DATA STRUCTURE


SECOND NORMAL FORM
To be in second normal form, a relation must be in first normal form and relation must not
contain any partial dependency. A relation is in 2NF if it has No Partial Dependency, i.e., no non-
prime attribute (attributes which are not part of any candidate key) is dependent on any proper subset
of any candidate key of the table.

STUD_ID STUD_NAME STUD_CLASS


618 SUDHAKAR IT-A
615 VELU IT-A
626 RAJA IT-B
4.5. ER Diagram:

Add Student
admin staff Add Teacher View/edit Attendance
Add Staff

Logout
Login Admin Home

Student
Student Home
Staff home

Logout
Logout

View Report
Take Attendance View Report
5. SYSTEM DEVELOPMENT

5.1. FUNCTIONAL DOCUMENTATION

Admin

 Login
 Staff Details
 Student Details

Staff

 Login
 Attendance Details
 Class Details

Student

 Login
 Attendance Details

Module Description

Admin

 Login
The login module is used for maintain security part of the project using userid
And password. Admin has unique username and password.

 Staff Details
This module helps to store the staff details such as staff id, staff name, class
names which are taking by the staff.

 Student Details
Student module helps to store the staff details such as student id, student name,
class names which are taking by the staff.

 Class Details
In this module the classes details are stored according to the students
departments.
Staff

 Login
The login module is used for maintain security part of the project using userid
And password. Admin has unique username and password.

 Attendance Details
This module is used for maintain students attendance details by class vice and
period vice.

 Class Details
In this module the classes details are stored according to the staffs who are
taking classes.

Student

 Login
The login module is used for maintain security part of the students using
student id and password.

 Attendance Details
This module is used for students to view their attendance reports by date and
period vice.

5.2. SPECIAL FEATURES OF LANGUAGE

Front End

XML is the abbreviation for Extensible Markup Language and is an established data exchange
format. An XML document consists of elements, each element has a start tag, content and an end
tag. An XML document must have exactly one root element (i.e., one tag which encloses the
remaining tags). XML differentiates between capital and non-capital letters.

An XML file must be well-formed. This means that it must apply to the following conditions:

▪ An XML document always starts with a prolog (see below for an explanation of what a
prolog is)
▪ Every opening tag has a closing tag.
▪ All tags are completely nested.
An valid XML file is well-formed and must contain a link to an XML schema and be valid
according to that schema.

XML ELEMENTS
An XML document always starts with a prolog which describes the XML file. This prolog
can be minimal, e.g. <?xml version="1.0"?>. It can also contain other information, e.g. the encoding
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>.

A tag which does not enclose any content is know as an "empty tag", for example <flag/>.

Comments in XML are defined as: <! COMMENT>.

JAVA
The Java programming language contains several methods for processing and writing XML.
Older Java versions supported only the DOM API (Document Object Model) and the SAX (Simple
API for XML) API.

In DOM you access the XML document over an object tree. DOM can be used to read and write XML
files.

SAX (Simple API for XML) is a Java API for sequential reading of XML files. SAX can only read
XML documents. SAX provides an event driven XML Processing following the Push-Parsing model.
In this model you register listeners in the form of Handlers to the Parser. These are notified through
call-back methods.

Both DOM and Sax are older APIs and I recommend not using them anymore.

Stax (Streaming API for XML) is an API for reading and writing XML Documents. It was introduced
in Java 6.0 and is considered superior to SAX and DOM.

Java Architecture for XML Binding (JAXB) is a Java standard that allows to convert Java objects to
XML and vice versa. JAXB defines a programmer API for reading and writing Java objects to from
XML documents. It also defines a service provider which allows the selection of the JAXB
implementation. JAXB applies a lot of defaults thus making reading and writing of XML via Java
very easy.
The following explains the Stax interface; for an introduction to JAXB, please see JAXB tutorial.

If you are familiar with Linux and concept of process, then it's easy to understand how android
applications runs. By default, Each Android application is assigned a unique user id by the Android
operating system. After starting an android application, they run in their own process, inside their
own virtual machine.

Android operating system manages the starting and shutting down the application process, whenever
required. This means each android application runs in isolation with other, but they can certainly
request access to hardware and other system resources. If you are familiar with mobile application
development, may be in J2ME, then you may know about permissions. So when an android
application is installed or started, it requests necessary permission required to connect the internet,
phone book and other system resources. The user explicitly provides grant these permissions, or it
may deny.

All these permissions are defined in the manifest file of Android application. Unlike Java Manifest
file, Android manifest is an XML file, which lists all the components of apps, and settings for those
components.

Four major components of Android application development is Activities, Services, Content


Providers and Broadcast Receivers. Activity is most common of them, as it represent a single screen
in Android Application. For example, in an Android Game, you can have multiple screens for login,
high score, instructions and game screen. Each of this screen represents different Activities inside
your app.

Similar to Java, a good thing about Android is that it manages certain task on behalf of the developer,
one of them is creating activity object. Activities are managed by System, when you want to start an
activity, you call startActivity() method which takes an Intent object. In response to this call, System
can either create new activity object or reuse an existing one.

Just like Garbage collection in Java, manages a critical task or reclaiming memory, Android manages
the starting, stopping, creating and destroying of apps by themselves. You may think it's restrictive,
but it's not. Android provides life-cycle events, which you can override to interact with this process.

BACKEND
Firebase – NoSql Database
Store and sync data with our NoSQL cloud database. Data is synced across all clients in
realtime, and remains available when your app goes offline.

The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON and synchronized
in realtime to every connected client. When you build cross-platform apps with our iOS, Android,
and JavaScript SDKs, all of your clients share one Realtime Database instance and automatically
receive updates with the newest data.

Key Capabilities
Realtime - Instead of typical HTTP requests, the Firebase Realtime Database uses data
synchronization—every time data changes, any connected device receives that update within
milliseconds. Provide collaborative and immersive experiences without thinking about networking
code.

Offline - Firebase apps remain responsive even when offline because the Firebase Realtime
Database SDK persists your data to disk. Once connectivity is reestablished, the client device receives
any changes it missed, synchronizing it with the current server state.
Accessible from Client Devices - The Firebase Realtime Database can be accessed directly
from a mobile device or web browser; there’s no need for an application server. Security and data
validation are available through the Firebase Realtime Database Security Rules, expression-based
rules that are executed when data is read or written.

Scale across multiple databases - With Firebase Realtime Database on the Blaze pricing
plan, you can support your app's data needs at scale by splitting your data across multiple database
instances in the same Firebase project. Streamline authentication with Firebase Authentication on
your project and authenticate users across your database instances. Control access to the data in each
database with custom Firebase Realtime Database Rules for each database instance.

How does it work?


The Firebase Realtime Database lets you build rich, collaborative applications by allowing
secure access to the database directly from client-side code. Data is persisted locally, and even while
offline, realtime events continue to fire, giving the end user a responsive experience. When the device
regains connection, the Realtime Database synchronizes the local data changes with the remote
updates that occurred while the client was offline, merging any conflicts automatically.

The Realtime Database provides a flexible, expression-based rules language, called Firebase
Realtime Database Security Rules, to define how your data should be structured and when data can
be read from or written to. When integrated with Firebase Authentication, developers can define who
has access to what data, and how they can access it.

The Realtime Database is a NoSQL database and as such has different optimizations and functionality
compared to a relational database. The Realtime Database API is designed to only allow operations
that can be executed quickly. This enables you to build a great realtime experience that can serve
millions of users without compromising on responsiveness. Because of this, it is important to think
about how users need to access your data and then structure it accordingly.
6.Testing
6.1. Types of Testing Done:

UNIT TESTING:
The first test in the development process is the unit test. The source code is normally divided
into modules, which in turn are divided into smaller units called units. These units have specific
behaviour. The test done on these units of code is called unit test. Unit test depends upon the language
on which the project is developed. Unit tests ensure that each unique path of the project performs
accurately to the documented specifications and contains clearly defined inputs and expected results.
Functional and reliability testing in an Engineering environment. Producing tests for the behaviour of
components (nodes and vertices) of a product to ensure their correct behaviour prior to system
integration.
SYSTEM TESTING:
Several modules constitute a project. If the project is long-term project, several developers
write the modules. Once all the modules are integrated, several errors may arise. The testing done at
this stage is called system test. System testing ensures that the entire integrated software system
meets requirements. It tests a configuration to ensure known and predictable results. System testing
is based on process descriptions and flows, emphasizing pre-driven process links and integration
points.

Testing a specific hardware/software installation. This is typically performed on a COTS


(commercial off the shelf) system or any other system comprised of disparate parts where custom
configurations and/or unique installations are the norm.

FUNCTIONAL TESTING:
Functional test can be defined as testing two or more modules together with the intent of
finding defects, demonstrating that defects are not present, verifying that the module performs its
intended functions as stated in the specification and establishing confidence that a program does what
it is supposed to do.
INTEGRATION TESTING:
Testing in which modules are combined and tested as a group. Modules are typically code
modules, individual applications, source and destination applications on a network, etc. Integration
Testing follows unit testing and precedes system testing. Testing after the product is code complete.
Betas are often widely distributed or even distributed to the public at large in hopes that they will buy
the final product when it is released.
WHITE BOX TESTING:
Testing based on an analysis of internal workings and structure of a piece of software. This
testing can be done sing the percentage value of load and energy. The tester should know what exactly
is done in the internal program. Includes techniques such as Branch Testing and Path Testing. Also
known as Structural Testing and Glass Box Testing.

BLACK BOX TESTING:


Testing without knowledge of the internal workings of the item being tested. Tests are usually
functional. This testing can be done by the user who has no knowledge of how the shortest path is
found.

6.2 TEST DATA & OUTPUT


7.USER MANUAL

7.1 HARDWARE REQUIREMENT


Processor : X86 Compatible process with 1.7 GHz Clock speed

RAM : 512 MB or more

Hard disk : 20 GB or more

Monitor : VGA/SVGA

Keyboard : 104 Keys

Mouse : 2 buttons/ 3 buttons

7.2 SOFTWARE REQUIREMENT

Operating System : Windows 07/08/10/XP

Front end : C# .NET

Back end : MySQL server


8.Conclusion
8.1 Summary of the Project
This whole work is to access the details about the student attendance information and generate
a final report. This project “Android Student Attendance Management System” is a collection of
static and dynamic web based or mobile application-based pages. This project provides an offer to
the user to enter the data through their respective registration forms. It is very helpful for the teachers
and admin to keep and maintain the information about the students easily. In future this work can be
expanded to store the internal marks, semester marks, college events and college placement activities
of the students to get minimized all stuffs at one place in a systematic way to import and export the
data through the admin and authorized persons whenever it will be needed in future by the educational
organization.

8.2 Future Possibilities


When the database in offline mode we can’t access even login. So, in future this can be avoided
by using cloud storages like Firebase cloud, AWS.
BIBLIOGRAPHY
Book References

▪ Mobile Phone Based Attendance System”, by Shraddha S.Chawhan1, Mangesh P. Girhale2,


Gunjan Mankar3, IOSRJournal of Computer Engineering.
▪ Component-Based Software Engineering” byIan Gorton, George T. Heineman, Ivica
Crnković, Heinz W. Schmidt, Judith A. Stafford, Clemens Szyperski.
▪ A Proposed Android Based Mobile Application to Monitor Works at Remote Sites”, byS.
Sivasubramanian1.

Website Reference
1. www.android.com
2. firebase.google.com
3. www.androidhive.info

You might also like