Download as pdf or txt
Download as pdf or txt
You are on page 1of 69

PROJECT REPORT ON

CHILD CARE ANDROID


APPLICATION
Submitted in partial fulfillment of the
requirements for theaward of degree of

BACHELOR OF COMPUTER APPLICATION


MAHATMA GANDHI UNIVERSITY
KOTTAYAM

By

ASWIN A KUMAR (190021092729)

Under the guidance and supervision Of


Ms. RAJASREE
(Lecturer, STAS, Pathanamthitta)

SCHOOL OF TECHNOLOGY AND


APPLIEDSCIENCES
CENTRE FOR PROFESSIONAL AND ADVANCED
STUDIES
(Established by Government of Kerala)
AFFILIATED TO MAHATHMA GANDHI UNIVERSITY

Chuttippara-Pathanamthitta-689645
Phone:0486-2224785 Email:mgucaspta@gmail.com

1
CERTIFICATE
This is to certify that the project report entitled “CHILD CARE ANDROID
APPLICATION” submitted in partial fullfilment of the degree of Bachelor of Computer
Application from the Mahatma Gandhi University during the period from November 2021 to
March 2022 done by ASWIN A KUMAR (Reg No:190021092729) is an authentic work carried
out by her under my guidance. The matter embodied in this project work has not been submitted
earlier for award of any degree or diploma to the best of my knowledge and belief.

INTERNAL EXAMINERS SIGNATURE OF THE GUIDE

EXTERNAL EXAMINERS PRINCIPAL

2
ACKNOWLEDGEMENT
The word acknowledgement is hardly sufficient to convey the deep sense of gratitude that we
have towards all the people who helped us complete this work successfully. We express our
sincere thanks to the staffs of School of Technology & Applied Sciences Pathanamthitta for
providing us the opportunity to work with their highly esteemed
organization. I would like to express my sincere gratitude to Mrs. REMA K, Principal of
School of Technology & Applied Sciences, Pathanamthitta, who was kind enough to grant
me the opportunity to work on this project. I would like to express our heartfelt and profound
gratitude to Mr. Abdul Muhammed Rasheed, Project coordinator, School of Technology &
Applied Sciences, Pathanamthitta for his valuable support throughout our project and for
providing crucial inputs and support during the course of our work. It is my prime and sacred
duty to offer my sincere gratitude to the Project Guides , for constant help, guidance and
supervision in accomplishing work.

I am obliged to all faculty members of the Department of Computer Science, School


of Technology & Applied Sciences, Pathanamthitta for their cooperation and the help
rendered during the course of project completion. A special thanks to my parents for their
encouragement throughout this endeavor. I am thankful to my friends for their support and help.
This Project has been carried out as part of the requirement of Bachelor in Computer
Application and it is submitted with extreme pleasure and gratitude.

ASWIN A KUMAR

3
DECLARATION

I hereby declare that the project report entitled “ CHILD CARE


ANDROID APPLICATION” submitted to the Mahatma Gandhi University, Kottayam in
partial fulfilment of the requirements for the award of degree of Bachelor of Computer
Application is a record of original work done during my period of study in School of Technology
and Applied Science, Pathanamthitta, under the guidance of Lecturer STAS, Pathanamthitta.

Name of the candidate : ASWIN A KUMAR


Register Number : 190021092729
Date :20-05-2022

Signature of the Student

4
INDEX

Sl CONTENTS Page No
No

1. Profile of the Problem 6


2. System Study 8
3. 3.1 Introduction 9
3.2 Existing System 10
3.3 Proposed System 11
4. Problem Analysis 13
4.1 Feasibility Analysis 14
4.2 Project Plan 17
5. Requirement Engineering 19
5.1 Introduction 20
5.2 Specific Requirements 20
5.3 Software descriptions 21
6. Modeling 27
6.1 Use Case Diagram 29
6.2 ER Diagram 32
6.3 Data Flow Diagram 31
6.4 ER Diagram 35
7. Design 36
7.5 Database Design 39
8. Coding 41
9. Testing 43
10. Implementation 49
10.1 Implementation of the project 50
10.2 Post Implementation and Software
Maintenance 51
11. Source Code 52
12. Appendix 58
13. Future Work 64
14 Conclusion 66
15. Bibliography 68
1. PROFILE OF THE PROBLEM

6
1.1 ABOUT THE PROJECT

This Child Care Application, which is a digital platform for monitoring of vaccine delivery through
application for children , recording data and to enable them to get them registered for vaccination. It
keep a track of immune.

The child care application helps to access critical vaccine information, schedule appointments, calculate
BMI of the child and receive appointment notifications from vaccine providers.

Working

 When a child is born the hospital will make an account for the child on the CHILD CARE
application

 The parents can reserve the vaccination as per the required time of the child vaccination and can
choose the required hospital for their convenience vaccination programmes.

. Then the administrator of the app will give the required time slot and the hospital

7
2. SYSTEM STUDY

8
2.1 INTRODUCTION

System analysis is the process of gathering data and facts diagnosing problem to the system. In the
development of software structural analysis is required. During this analysis, information is
collected in the form of answers to the question for collecting information from existing documents.
Analysis specifies what the system should do.

Problem definition deals with defining the actual problem involved in the existing system or the
system to be developed. Studies on various areas covered by the existing system are classified into
various divisions and the actual task to be performed in the new system is determined. The project
will be able to demonstrate the ideas of a website which helps the public. The website is trying to
revitalize and simplify the various functions and activities and make them more people friendly. We
dedicated to providing better and speedy services to the public.

System analysis is the detailed study of various operations and their relationship within and outside
the system. It is the first in the developing and managing systems. System analysis is concerned with
becoming aware of the problem, identifying the relevant and most decisional variables, analyzing
and synthesizing the various factors and determining an optimal or at least as at is factory solution
or program of action. A preliminary study was conducted in details and several fact-finding
techniques like record searching, observation, comparison etc. were used to reach a better decision.
The current system for this each activity was deeply studied and analyzed. All the forms and other
printed or non-printed formats for data collection were checked accurately and findings were
compared. Observation was done to great extend to see the difficulties of the process and time delay
in findings the results. Accurate study was conducted to know the system in a much better manner.

The objectives of the system analysis are:

 Identifying the need.

 Analyzing the existing and proposed system.

 Evaluating the feasibility study.

 Perform economic and technical analysis.

 Identifying the hardware and software requirements.

 Allocating functions to the hardware and software.

9
3.2.1 EXISTING SYSTEM
Actual existing system works on the basics of full man power and the datas are been collected manually
and The that was a big problem. So there should be a need of new technology implemented on this existing
system using the modern internet technology. Basically the system is time consuming and will take long
time for the further results and if the documents are lost then it’s a big headache
So the new proposed system made all simple and can be used through the basic internet and mobile p

a application anytime

DISADVANTAGES OF EXISTING SYSTEM:

 The existing systems are very time consuming.


 All registrations are done by using man power a
 Not easy to find the desired hospital
 Not convincing for the time of the guardians

10
3.2.2 PROPOSED SYSTEM
This “Child Care Application”, which is a digital platform for monitoring of vaccine delivery for
children , recording data and to enable them to get them registered for vaccination. It keeps a track of
immune vaccination programmes and it has a list of vaccination a child needs and the guardian can take
the appointment from a mobile phone and can choose the convenient place for the immunization of the
child.
The child care application helps to access critical vaccine information, schedule appointments, calculate
BMI of the child and receive appointment notifications from vaccine provider s.

ADVANTAGES
 This app is very useful for the guardians of a child to use.
 No need of waiting long time in the immunization center for registration.
 Place of immunization can be choose at guardians convenience .

➢ User - The guardian of the child who can schedule for immunization and can track the I I

immunisation records.

Admin - The health worker who enters the details of the new born baby in application and u

u updates their immunization

11
MODULES:
 Admin
 Users

MODULE DESCRIPTION

ADMIN:

The admin is responsible for the registration of the new accounts using email of the guardian and
re responsible for the scheduling of vaccination time and date.

USER:

The user is the guardian of the child who register the appointment for the child for vaccination
e required.

12
3. PROBLEM ANALYSIS

13
FEASIBILITY STUDY

The initial investigation points to the question whether the project is feasible. The easibility is
conducted to identify the best system that meets all the requirements. This includes an
identification description, an evaluation of proposed systems and the selection of the best system
for the job. The requirements of the system are specified with a set of constraints such as system
objectives and the description of the output. It is the duty of the analyst to evaluate the feasibility
of the proposed system to generate the above results. Three key factors are to be considered during
the feasibility study.

There are three aspects in the feasibility study portion of the preliminary investigation:

 Technical feasibility
 Economic Feasibility
 Operational

The proposed system “Child Care Application” must be evaluated from the technical point
of view first, and if technically feasible their impact on the organization must be assessed. If
compatible, Technical Feasibility Economic Feasibility Operational system can be devised. Then
they must be tested for economic feasibility.

4.2.1 Technical Feasibility

The “Child Care Application” must be evaluated from the technical viewpoint. The assessment of
feasibility must be based on an outline design of the system requirement in the terms of input,
output, programs, procedure and employee. Having identified an outline system, the investigation
must go to suggest the type of the equipment, required method developing the system, method of
running the system once it has been designed. The project should be developed such that the
necessary functions and performance are achieved within the constraints. Though the system may
become obsolete after some period of time, due to the fact that the newer version software supports
the older version, this system may still be used. There are a number of technical issues, which are
generally raised during the feasibility stage of the investigation

14
Technical feasibility deals with hardware as well as software requirements. If the necessary
requirements are made available with the system then the proposed system is said to be
technically feasible.

The software required for this system is:

Operating System :- Windows 10 or higher , Linux, MacOS

Front End Language :- JAVA Backend

:- FIREBASE

Database :- FIRESTORE

Development Environment :- ANDROID STUDIO

4.2.2 Economic Feasibility

Economic feasibility is an important task of system analysis. A system that can be developed
technically and that will be used if installed must still be profitable for the organization. Financial
benefits must equal or exceed the costs. Criteria are to ensure that effort
taken on the project give the best return at the earliest. One of the factors, which affect the
development of a new system, is the cost it would require. Since the system developed is part of
a project work, but there is some manual cost needed to spend on “Child Care Application” i.e.
some fund is needed in sending some confirmation message to the user , an also all the resources
are already available, giving an indication that the system is economically possible development.
The analysis raises financial and economic questions during the preliminary investigation to
estimate the following:

15
1. The cost to conduct a full systems investigation

2. The cost of hardware and software for the class of application of the project being considered.

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

To be judged feasible, a proposal for the specific project must pass all these tests, otherwise it is
not considered as a feasible project.

4.2.3 Operational Feasibility

Proposed projects are beneficial only if they can be turned into information systems that will
meet the operating requirements of the organization. This test of feasibility tasks if the system
will work when it is developed and installed. “Child Care Application” satisfies all the
operational conditions.

One of the main problems faced during development of a new system is getting the acceptance
from the user. They were doubtful about the degree of security provided by our software. We
have considered all the operational aspects. Thus the project is operationally feasible .People
are inherently resistant to change, and computers have been known to facilitate change. An
estimate should be made about the reaction of the user, employee towards the development of
a computerized system

16
4.2 PROJECT PLAN

Planning is very important in every aspect of development work. Good managers carefully
monitor developments at various phases. Improper planning leads to failure of the project.
Software project plan can be viewed as the following:

1. Within the organization: How the project is to be implemented? What are various
constraints? What is market strategy?

2. With respect to the customer: Weekly or timely meetings with the customer with
presentations on status reports. Customer feedback is also taken and further modifications and
developments are done. Project milestones and deliverables are also presented to the customer.

For a successful project the following steps can be followed:

 Selection of project: Includes identifying project’s aims and objectives, understanding


requirements and specification, methods of analysis, design and implementation, testing
techniques and documentation.
 Project milestones and deliverables

 Project estimates: including cost, time, size of code and duration

 Resource allocation: including hardware, software, previous relevant project information


and digital library

 Risk management: including risk avoidance, risk detection, risk control and risk recovery

 Scheduling techniques: including work breakdown structure, activity graph, critical path
method, Gantt chart and Program Evaluation Review Technique.

 People: including staff recruitment, team management and customer interaction.

Quality control and standard

17
DECEMBER JA UARY FEBRUARY MARCH APRIL MAY
TASK PERIOD

Project 6 Months

System Study and


4 Weeks
Analysis

Requirements Modeling 4 Weeks

System Design 4 Weeks

Coding and Testing 4 Weeks

Report Preparation and 7 Weeks


Implementation

18
5. REQUIREMENT ENGINEERING

19
Requirement analysis involves studying the current system to find out how it works and where
improvements could be made. A clear idea about the existing system is a must for making
improvements where it is required. Proper planning and collection of data serves the purpose. The
popularity of this document is to describe all the requirements for the popularity
of the application for “Child Care Application”. This application helps send and receive data in a
secure manner.

5.2 SPECIFIC REQUIREMENTS

SOFTWARE REQUIREMENTS

 Operating System :- Windows 10 or higher, Linux, MacOS

 Front End Language :- JAVA

 Backend Language :- FIREBASE

 Database :- FIRESTORE

HARDWARE REQUIREMENTS

• Processor – i3 or Higher

• Hard Disk – 50 GB

• Memory – 1GB RAM or Higher

20
5.3 SOFTWARE DESCRIPTIONS

JAVA:

The Java programming language was developed by Sun Microsystems in the early 1990s. Although it
is primarily used for Internet-based applications, Java is a simple, efficient, general-purpose language.
Java was originally designed for embedded network applications running on multiple platforms. It is a
portable, object-oriented, interpreted language.

Java is extremely portable. The same Java application will run identically on any computer, regardless
of hardware features or operating system, as long as it has a Java interpreter. Besides portability, another
of Java's key advantages is its set of security features which protect a PC running a Java program not
only from problems caused by erroneous code but also from malicious programs (such as viruses).

You can safely run a Java applet downloaded from the Internet, because Java's security features prevent
these types of applets from accessing a PC's hard drive or network connections. An applet is typically a
small Java program that is embedded within an HTML page.

Java can be considered both a compiled and an interpreted language because its source code is first
compiled into a binary byte-code. This byte-code runs on the Java Virtual Machine (JVM), which is
usually a software-based interpreter. The use of compiled byte-code allows the interpreter (the virtual
machine) to be small and efficient (and nearly as fast as the CPU running native, compiled code). In
addition, this byte-code gives Java its portability: it will run on any JVM that is correctly implemented,
regardless of computer hardware or software configuration. Most Web browsers (such as Microsoft
Internet Explorer or Netscape Communicator) contain a JVM to run Java applets.

21
Applications of JAVA

 As mentioned before, Java is one of the most widely used language over the web. I'm
going to list few of them here:
 Mobile Applications: Java is considered as the official programming language for mobile
app development. It is compatible with software such as Android Studio and Kotlin.
 Desktop UI Applications: All desktop applications can easily be developed in Java. Java
also provides GUI development capability through various means mainly Abstract
Windowing Toolkit (AWT), Swing, and JavaFX.
 Web Based Applications: Java is also used to develop web applications. It provides vast
support for web applications through Servlets, Struts, or JSPs.
 Enterprise Applications: Java is the first choice of many software developers for writing
applications and Java Enterprise Edition (Java EE) is a very popular platform that provides
API and runtime environment for scripting.
 Gamming Applications: Java has the support of the open-source most powerful 3D-
Engine, the jMonkeyEngine that has the unparalleled capability when it comes to the
designing of 3D games.
 Business Application: Java EE platform is designed to help developers create large-
scale, multi-tiered, scalable, reliable, and secure network applications.
 Cloud Based Applications: Cloud computing means on-demand delivery of IT resources
via the internet with pay-as-you-go pricing.
 Scientific Applications: Software developers see Java is the weapon of choice when it
comes to coding the scientific calculations and mathematical operations.

22
5.3.2 FIREBASE
Firebase is a Backend-as-a-Service (Baas). It provides developers with a variety of tools and services to
help them develop quality apps, grow their user base, and earn profit. It is built on Google’s infrastructure.

Firebase is categorized as a NoSQL database program, which stores data in JSON-like documents.

Features of Firebase:

 Authentication: It supports authentication using passwords, phone numbers, Google, Facebook,


Twitter, and more. The Firebase Authentication (SDK) can be used to manually integrate one or more
sign-in methods into an app.

 Realtime Database: Data is synced across all clients in real-time and remains available even when an
app goes offline.

 Hosting: Firebase Hosting provides fast hosting for a web app; content is cached into content delivery
networks worldwide.

 Test Lab: The application is tested on virtual and physical devices located in Google’s data centres.

 Notification: Notifications can be sent with firebase with no additional coding. Users

23
5.3.3 FIRESTORE

Cloud Fire store is a cloud-hosted, NoSQL database that your Apple, Android, and web apps can access
directly via native SDKs. Cloud Fire store is also available in native Node.js, Java, Python, Unity, C++ and
Go SDKs, in addition to REST and RPC APIs.

Following Cloud Fire store’s NoSQL data model, you store data in documents that contain fields mapping
to values. These documents are stored in collections, which are containers for your documents that you can
use to organize your data and build queries. Documents support many different data types, from simple
strings and numbers, to complex, nested objects. You can also create subcollections within documents and
build hierarchical data structures that scale as your database grows. The Cloud Fire store data
model supports whatever data structure works best for your app.

Additionally, querying in Cloud Fire store is expressive, efficient, and flexible. Create shallow queries to
retrieve data at the document level without needing to retrieve the entire collection, or any nested
subcollections. Add sorting, filtering, and limits to your queries or cursors to paginate your results. To keep
data in your apps current, without retrieving your entire database each time an update happens, add real-
time listeners. Adding real-time listeners to your app notifies you with a data snapshot whenever the data
your client apps are listening to changes, retrieving only the new changes.

Protect access to your data in Cloud Fire store with Firebase Authentication and Cloud Fire store Security
Rules for Android, Apple platforms, and JavaScript, or Identity and Access Management (IAM) for server-
side languages.

Fire store allows you to run sophisticated ACID transactions against your document data. This gives you
more flexibility in the way you structure your data. Focus on your application development using Fire store
client-side development libraries for Web, iOS, Android, Flutter, C++, and Ui

24
5.3.4 ANDROID STUDIO

Android Studio is the official Integrated Development Environment (IDE) for androidapplication
development. Android Studio provides more features that enhance our productivity while building
Android apps.Android Studio was announced on 16th May 2013 at the Google I/O conference as an
official IDE for Android app development. It started its early access preview from version 0.1 in May
2013. The first stable built version was released in December 2014, starts from version 1.0.

Android Studio is the official Integrated Development Environment (IDE) for Android app development,
based on IntelliJ J IDEA. On top of IntelliJ's powerful code editor and developer tools, Android Studio
offers even more features that enhance your productivity when building Android apps, such as:

 A flexible Gradle-based build system


 A fast and feature-rich emulator
 A unified environment where you can develop for all Android devices
 Apply Changes to push code and resource changes to your running app without restarting your app
 Code templates and GitHub integration to help you build common app features and import sample code
 Extensive testing tools and frameworks
 Lint tools to catch performance, usability, version compatibility, and other problems
 C++ and NDK support
 Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud Messaging and
App Engine

25
 The toolbar provides us a wide range of actions, which includes running apps and launching
Android tools.

 The navigation bar helps in navigating our project and open files for editing. It gives a
compact view of structure visible in the Project window
 The editor window is a space where we can create and modify our code. On the basis of the
current file type, the editor can change. While viewing a layout file, the editor displays the
Layout Editor.

 The tool window bar runs around the outside the IDE window and contains buttons that allow as to
expand and collapse individual tool windows.
 The tool windows provide us access specific tasks like search, project management, version control,
and more. We can able expand and collapse them.
 The status bar displays the status of our project and IDE itself, as well as any messages or warnings.

26
6. MODELING

27
We create models to obtain a better understanding of the actual entity to be built. The model
focuses on what the system must do and not on how it does it. The second and third operational
analysis principles require that we build modules of function and behavior. The written
word is a wonderful vehicle for communication, but it isn't necessarily the best way to represent
the requirements for computer software. Analysis modeling uses a combination of text and
diagrammatic forms to depict requirements for data, function, and behavior in a way that is
relatively easy to understand, and more important, straightforward to review for correctness,
completeness and consistency. This section presents resources for conventional and object-
oriented analysis (OOA) methods as well as resources for UML. Analysis modeling is an
extremely robust subject.

6.2 GENERAL DESCRIPTION

Requirement Modeling approaches are

1. Scenario-Based modeling
Use Case Diagram
2. Data modeling
ER Diagram
3. Class Based Modeling
Class Diagram
4. Behavioral Modeling
State Diagram

28
6.2.1 Scenario-Based Modeling

Scenario based modeling represents requirements from the point of view of various system
‘actors’. Requirement modeling begins with the creation of scenarios in the form of use case
diagrams.

Use Case Diagram


Use cases help to determine the functionality and features of the software from user’s
perspective. A use case describes how a user interacts with the system by defining the steps
required to accomplish a specific goal. Variations in the sequence of steps describe various
scenarios. In the diagram the stick figure represents an actor that is associated with one category
of user. In the use-case diagram the use cases are displayed as ovals.

The actors are connected by lines to the use cases that they carry out. The use cases are placed in
a rectangle but the actors are not .This rectangle is a visual remainder of the system boundaries
and that the actors are outside the system.

29
30
6.2.2 Data Modeling

If software requirements include the need to create, extend, or interface with a database, the
software team may choose to create a data model as part of overall requirements modeling. It
defines all data objects that are processed within the system, the relationship between the data
objects, and other information that is pertinent to the relationships. The entity relationship
diagram(ERD) addresses these issues and represents all data objects that are entered, stored,
transformed, and produced within an application. Data modeling tools provide a software engineer
with the ability to represent data object, their characteristics, and their relationships. Used
primarily for large database applications and other information systems projects, data modeling
tools provide an automated means for creating comprehensive entity relation diagrams, data object
dictionaries, and related models.

An E-R diagram may also indicate the cardinality of a relationship. Cardinality is the number of
instances of one entity that can, or must, be associated with each instance of another entity. In
general we may speak of one-to-one, one-to-many, or many-to-many relationships.

Rectangle which represents entity sets.

Diamond which represents relationship sets.

Ellipse which represents attributes.

Lines which link attributes to entity sets and entity sets to relationship sets.

31
ER Diagram

vali
VALID Email
VIEW

32
6.3 DIAGRAMS

Data flow Diagram (DFD)

The data flow diagram (DFD) is one of the most important tools used by system analysts. Data
flow diagrams are made up of a number of symbols, which represent system components. Most
data flow modeling methods use four kinds of symbols. These symbols are used to represent four
kinds of system components. Possesses, data stores, data flows and external entities are
the components. Circles in DFD represent a process. Data flow is represented by a thin
line in DFD and square or rectangle represents external entities.

Unlike detailed flow chart, data flow diagrams do not supply detailed description of the modules
but graphically describes a system’s data and how the data interact with the system.

Symbols used in DFD are:

Square, this defines source or destination of data

Arrow, which shows data flow

Circle, which represents a process that

transforms incoming data into outgoing flow

Open rectangle, which shows a data store

33
LEVEL 0

User Child Care Admin


App

LEVEL 1

Admin
Signup

Scheduling
User

Child Care
Login
Details
Of Child

Buyer
Operations

user
LEVEL 1.1

User
s

Scheduled
password

Admin

Message passed

Updated

LEVEL 1.2
User

registering

password

User

Rescheduled

BMI
7. DESIGN

36
Design for Application encompasses technical and non technical activities that include:
establishing the look and feel of the App, creating the aesthetic layout of the user interface, defining
the overall architectural structure, developing the content and functionality that reside within the
architecture, and planning the navigation that occurs within the App. Design allows you to create
a model that can be assessed for quality and improved before content and code are generated,
tests are conducted, and end users become involved in large numbers. Design is the place
where Application quality is established.

In general the following design objectives must be kept in mind;

 Practicality of the System


 Efficiency of the System
 Minimized cost of the System
 Flexibility of the System
 Security of the System

The system design involves first logical design and then physical construction of the system. The
logical design describes structure and characteristics of features, like the outputs, inputs, databases
and procedures. The physical construction which follows the logical design produces actual
program software files and the working system.

System design sits at the technical kernel of the software engineering and is applied regardless
of the software process model that is used. Beginning once software requirements have been
analyzed and specified, software design is the first technical activity that is used to build and verify
the software. Each activity (designing, coding and testing) transform information in a manner that
ultimately results in validated computer software.

37
7.2 AESTHESTIC DESIGN
Aesthetic design, also called graphic design, is an artistic endeavor that complements the technical
aspects of Application design. Without it, a Application may be functional, but unappealing. With
it, a Application draws its users into a world that embraces them on a visceral, as well as an
intellectual level. Different layouts are used in ‘Child Care Application’. There is an old saying,
“beauty exists in the eye of the beholder”. This is particularly appropriate when aesthetic design
for Application is considered. To perform effective aesthetic design, return to the user hierarchy
developed as part of the requirements model.

7.3 CONTENT DESIGN

Content design focuses on two different design tasks, each addressed by individuals with different
skill test sets. First, a design representation for content objects and the mechanisms required to
establish their relationship to one another is developed. In addition, the information within a
specific content object is created. The latter task may be conducted by copywriters, graphic
designers, and others who generate the content to be used within a Application.

7.4 ARCHITECTURAL DESIGN


It is tied to the goals established for a Application, the content to be presented, the user who will
visit and the navigation philosophy that has been established. As an architectural designer, you
must identify content architecture and Application Architecture. Content architecture focuses on
the manner in which content objects are structured for presentation and navigation. Application
Architecture addresses the manner in which the application is structured to manage user interaction,
handle internal processing tasks, effect navigation and present content. Architectural design -
creates a blueprint for the design with the necessary specifications for the hardware, software,
people and data resources. In this project n-Tier architecture is used for development. It can use
objects for handling business rules and data access. It has multiple servers handling business
services

38
7.5 DATABASE DESIGN

The most important aspect of building an application is the design of database. The data they store
must be organized according to the user requirement. A well designed database is essential for
the good performance of the system. A database table known as a relation provides information
related to specific entity.

The basic functions involved in a database system related to the information required by the user
are:

 Defining the data

 Input the data

 Locating the data

 Communicating the data

TABLE DESCRIPTION

ADMIN

FIELD NAME DATA TYPE SIZE CONSTRAINTS DESCRIPTION


EMAIL VARCHAR 25 NOT NULL USERNAME
PASSWORD VARCHAR 25 NOT NULL PASSWORD

CHILD

FIELD NAME DATA TYPE SIZE CONSTRAINTS DESCRIPTION


NAME VARCHAR 255 NOT NULL NAME
EMAIL ID VARCHAR 255 NOT NULL EMAIL
GENDER VARCHAR 255 NOT NULL GENDER
FATHERS NAME VARCHAR 255 NOT NULL FATHER
MOTHERS NAME VARCHAR 255 NOT NULL MOTHER
DATE OF BIRTH DATE 3 NOT NULL DOB
BLOOD GROUP VARCHAR 255 NOT NULL BLOOD GROUP

39
USER

FIELD NAME DATA TYPE SIZE CONSTRAINTS DESCRIPTION


NAME VARCHAR 255 NOT NULL NAME
PHONE VARCHAR 255 NOT NULL PHONE
EMAIL VARCHAR 255 NOT NULL EMAIL
LOCATION VARCHAR 255 NOT NULL LOCATION
PASSWORD VARCHAR 255 NOT NULL PASSWORD

HEALTH CENTER /HOSPITAL

FIELD NAME DATA TYPE SIZE CONSTRAINTS DESCRIPTION


NAME VARCHAR 255 NOT NULL NAME
ADDRESS VARCHAR 255 NOT NULL ADSRESS
LOCATION VARCHAR 255 NOT NULL LOCATION

40
8. CODING

41
The coding step is a process that transforms design into a programming language. It translates
a detail design representation of software into a programming language realization. The
translation process continues when a compiler accepts source code as input and produces
machine-dependent object code as output. Quality is an important goal during coding. The
quality of source code can be improved by the use of structured coding techniques; good coding
style and readable, consistent code format. During coding, some coding standards are to be
followed. This has two purposes; reducing the chance of making it easier for some time to
modify the code later on. Coding phase affects both testing and maintenance profoundly.

The art of choosing a language is to start with the problem, decide what it requires and their relative
importance since it will probably be impossible to satisfy all of them equally. Available language
should be measured against a lot of requirements. The criteria that are applied during an evaluation of
available language are:

 General application Area


 Algorithmic and Computational Capability
 Environment in which Software will execute
 Cost effectiveness
 Ease Of Use
 Open Source

The “CHILD CARE APPLICATION” uses JAVA as the programming language for
coding. Java is a programming language and computing platform first released by Sun
Microsystems in 1995. It has evolved from humble beginnings to power a large share of today’s
digital world, by providing the reliable platform upon which many services and applications are
built. New, innovative products and digital services designed for the future continue to rely on Java,
as well.

42
9.TESTING

43
The purpose of system testing is to identify and correct errors in the candidate system. Testing
is an important element of the software quality assurance and represents the ultimate review
of specification, design and coding. The increasing visibility of the software as a system element
and the costs associated with a software failure are motivated forces for
well planned, through testing.

The common view of testing held by users is that it is performed to prove that there are no errors
in a program. However, as indicated earlier, this is virtually impossible, since analyst cannot
prove that software is free and clear of errors. The tester, who may be the program fail. A successful
test, then, is one that finds an error. Analysts know that an effective testing program does not
guarantee system reliability. Therefore, reliability must be designed into the system

Testing is essential for

Existence of program defects of inadequacies is inferred.


Verifies whether the software behaves as intended by its designer.
Checks conformance with requirement specification/user needs.
Assesses the operational reliability of the system.
Tests the performance of the system.
Reflect the frequency of actual user inputs.
Finds the fault, which caused the output anomaly.
Detects flaws and deficiencies in the requirements.
Checks whether the software is operationally useful.
Exercises the program using data like the real data processed by the program.

The turn error is used to refer the difference between the actual output of the software and the
correct output. Fault is a condition that causes the software to fail to perform its required
function. Software reliability is defined as the required function.

44
Software reliability is defined as the probability that the software will not undergo failure for a
specified time under specified condition. Failure is the inability of a system or a component to
perform a required function according to its specification. Different levels of testing were
employed for software to make an error free, fault free and reliable. Basically in software testing
four type of testing methods are adopted.

 Unit testing

 Integration testing

 Validation testing

 System testing

9.2 FUNCTIONALITY TESTING

Testing is normally achieved by user interface initiated test flows. Not just the flow of a use case is
t tested, but the various business rules are also tested. Testing is done by certifying the requirements.
i.e. whether the application is working based on the requirements.

9.3 USER INTERFACE TESTING

This tests the whole end to end scenario (which simulates exactly what the user would be doing).
This (for the most part) goes through all the mouse clicks and keyboard presses the user goes
through to get an action done. If we extend the previous example this would be invoking the
same action except that this time instead of using any test hooks it would be using the keyboard
shortcut and instead verify the actual displayed results on the application.
User Interface testing is a process to test Digital Fortress user interface and to detect if
application is functionally correct. User Interface testing involves carrying set of tasks and
comparing the result of same with the expected output and ability to repeat same set of tasks
multiple times with different data input and same level of accuracy.

45
9.4 COMPONENT LEVEL TESTING

Component level testing similar to unit testing but with a higher level of integration. The big
difference here is that the testing is done in the context of the application instead of just directly
testing the method in question. While testing at the component level you would have the
application open and the document displayed but you would be testing the method and
evaluating its result.(without taking into account the shortcut or what get displayed on the
application afterwards). In Digital Fortress, the system consists of mainly 3 modules. All
modules are tested and were found to be working properly.

9.5 NETWORK TESTING

 The app should talk to the intermediate service so as to carry out the process.
 During this testing, request/response to/from the service is tested for various conditions.
 This test is mainly done to verify the response time in which the activity is performed like refreshing
data after sync or loading data after login etc.
 This is done for both strong wifi connection and the mobile data network.
 This is an in-house testing.

9.6 PERFOMANCE TESTING

Performance of the application under some peculiar conditions are checked.

Those conditions include:


Low memory in the device.

The battery in extremely at a low level.

Poor/Bad network reception.
Performance is basically tested from 2 ends, application end, and the application server end

9.7 INSTALLING TESTING

There are two types of apps on an Android device i.e, Pre-installed applications and the applications which
are installed later by the user.

For both of the above, installation testing needs to be carried out. This is to ensure smooth installation of
the application without ending up in errors, partial installation etc.Upgrade and uninstallation testing are
carried out as part of Installation testing.

46
9. 8 CONFIGURATION TESTING

The process of testing a system with each of the configuration of software and hardware that are
supported. Configuration testing is another variation on traditional performance testing
. Rather than testing for performance from the perspective of load you are testing the
effects of configuration changes in the application landscape on application performance
and behavior. Digital Fortress was tested for successful acceptance and was found to be working
properly.

9.9 SECURITY TESTING

Security testing is the process to determine that an information system protects data and maintain
functionality as intended. During security testing, the tester plays roles of the individual who
desires to penetrate the system. The tester may attempt to acquire passwords through external
clerical means; may attack the system with custom software designed to breakdown any defenses
that have been constructed; may overwhelm the system, thereby denying service to others; may
cause system errors, hoping to find the key to system entry.

Digital Fortress was tested for successful acceptance .User can enter to the website
without register

10 INTERRUPT TESTING

T This type of testing is also known as Offline Scenario Verification. Conditions where the communication breaks in
t the middle are called as offline conditions.
Below are a few common scenarios of interruption while using a mobile application:

 Putting the application into the background


 Getting a phone call
 Getting a message on WhatsApp or other similar message apps
 Phone going into sleep mode
 Phone auto-locked
 Alarm

47
10.1 TEST CASES

A test case is a document that describes an input, action or event and an expected response,
to determine if a feature of an application is working correctly. A test case should contain
particulars such as test case identifier, test case name, test conditions, input data requirements
steps, and expected results.

Test cases
Project Title : CHILD CARE ANDROID APPLICATION
Software Tool : JAVA,FIREBASE
Test objective : To check the login credentials are verified or not

Test Data: User name = arom70098@gmail.com and password = naveen1234.

Steps Data Expected results Actual


Step
no: results

Enter Email and User name = Should display Login failed


1
press LOGIN arom70098@gmail.com warning message
Button box "Please
Enter Password"
Enter Password and Password = naveen1234 Should display Login failed
2
press LOGIN warning message
Button box "Please Enter
Valid Email”
3 Enter Email and Username = Should display Login
Password and press arom70098@gmail.co Admin page Success
LOGIN Button m and Password
=naveen1234
Enter User name Username Should display Login
4
and Password and =josephjohnu16@gmail. user joseph’s Success
press LOGIN Button com and Password = page
aswin123
9. IMPLEMENTATION

49
10.1 IMPLEMENTATION OF THE PROJECT

Implementation means putting the newly developed application into operation. It is the phase in
the project plan where the theoretical design is put into real test. This is the most crucial stage in
the life cycle of a project. During implementation there has to be a strong interaction between
the developers and the users. This is the phase where the new system is given a chance to prove
its worth and to minimize the reluctance to change. The proposed system may be entirely new,
replacing an existing one or may be modifications to the existing system. In either case, proper
implementation is necessary to generate a confidence among users. If the users have achieved
satisfaction with the new project, then the project can be termed as successful and then onwards
its maintenance and other subsequent works can be started. The system goes for
implementation only after passing through some rigorous testing, especially when it comes
to operating systems and other system software.

The implementation phase of the software development is concerned with translating design
specifications into source code. The user tests the developed system and changes are made
according to their needs. Our system has been successfully implemented. Before
implementation several tests have been conducted to ensure that no errors are encounter during
the operation. The implementation phase ends with an evaluation of the system after placing it
into operation for a period of time. Implementation is the third phase of the system process. In
order to achieve the objectives and the expected performance the system has been developed in a
highly interactive and user-friendly manner.

The implementations stage involves following tasks:

 Careful planning.
 Investigation of system and constraints.
 Design of methods to achieves the changeover.
 Training of the staff in the changeover phase.

50
10.2 POST-IMPLEMENTATION AND SOFTWARE MAINTENANCE
Maintenance involves the software industry captive, typing up system resources. It means restoring
something to its original condition. Maintenance involves a wide range of activities including
correcting, coding, and design errors, updating documentation and test data, and upgrading
user support. Maintenance was done after the success implementation. Maintenance is continued
till the product is reengineered or deployed to another platform. Maintenance is also done based
on fixing the problems reported, changing the interface with other software or hardware
enhancing the software.

51
11.SOURCE CODE

52
#MAIN ACTIVITY

package com.mobdeve.s11.lima.buendia.berenguer.vax_inmobileapplioation;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
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;

public class UserMainActivity extends AppCompatActivity {


private ImageView ivProgressCircle,ivTracker, btnRegisVaccine, btnProfile, btnSettings;
private Button btnbmi;

private FirebaseAuth mAuth;


private FirebaseUser currUser;
private DatabaseReference databaseReference;
private String currUserID;

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

// Initializes components
ivProgressCircle = findViewById(R.id.iv_progress_circle);
ivTracker = findViewById(R.id.iv_tracker);
btnRegisVaccine = findViewById(R.id.iv_registervax_bg);
btnProfile = findViewById(R.id.iv_vaxprof_bg);
btnbmi = findViewById(R.id.button);

// Redirects to UserSettings activity


btnSettings = findViewById(R.id.iv_settings); 53
btnSettings.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(UserMainActivity.this, UserSettings.class);
startActivity(intent);
}
});

// Redirects to UserRegisterVaccine activity


btnRegisVaccine.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(UserMainActivity.this, UserRegisterVaccineActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
});

// Redirects to UserVaccinationProfile activity


btnProfile.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(UserMainActivity.this, UserVaccinationProfileActivity.class);
startActivity(intent);
}
});

/*
Finds data for progress bar to be updated

else if(!isComplete){
ivProgressCircle.setImageResource(R.drawable.progress_circle_4);
ivTracker.setImageResource(R.drawable.tracker_4);
}
else{
ivProgressCircle.setImageResource(R.drawable.progress_circle_4);
ivTracker.setImageResource(R.drawable.tracker_4);
} 54
}
}

@Override
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(UserMainActivity.this,"Error Entering Data. Please Try
Again!",Toast.LENGTH_LONG).show();
}
});
btnbmi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(UserMainActivity.this, Bmi.class);
startActivity(intent);
}
});

}
}

55
# USER REGISTER ACTIVITY
package com.mobdeve.s11.lima.buendia.berenguer.vax_inmobileapplioation;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.util.Log;
import android.util.Patterns;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.FirebaseDatabase;

public class RegisterActivity extends AppCompatActivity {

private FirebaseAuth mAuth;

private EditText etRegisterFirstName, etRegisterMiddleName, etRegisterLastName, etRegisterPhone,


etRegisterEmail, etRegisterPassword, etRegisterConfirm, etRegisterBday;
private Button btnRegisterRegister;
private TextView tvRegisterLogin;
private Spinner spinnerSex;

@Override
protected void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);

// Initializes components
mAuth = FirebaseAuth.getInstance();

etRegisterFirstName = findViewById(R.id.et_register_firstname);
etRegisterMiddleName = findViewById(R.id.et_register_middlename);
etRegisterLastName = findViewById(R.id.et_register_lastname);
etRegisterPhone = findViewById(R.id.et_register_phone);
etRegisterEmail = findViewById(R.id.et_register_email);
etRegisterPassword = findViewById(R.id.et_register_password);
etRegisterConfirm = findViewById(R.id.et_register_confirm_password); 56
spinnerSex = findViewById(R.id.spinner_register_sex);

// Button to validate and register a user


btnRegisterRegister = findViewById(R.id.btn_register_register);
btnRegisterRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
validateRegistration();
}

});

57
12.APPENDIX

58
APP SCREENSHOTS

LOGIN PAGE

59
ADMIN HOME PAGE

60
DOSE CONFIRMATION AND SETTINGS

61
USER HOME PAGE
63
13.FUTURE WORKS SUGGESTED

64
FUTURE WORKS:

 First thing that to put on the future work is the google integrated map service for the easiness of
finding the location of the hospitals and can be marked through the map

 Drop down box will be added to the health center selection.

 Otp verification and different login methods should be implemented

65
15. CONCLUSION

66
Conclusion

In conclusion, the system will be able to serve as a android application when it is finally
developed, where these small upcoming companies can make use of it to publish their services
in a wide range and also help the company to manage their service more effectively. On the
other hand, it will enable users to freely make their desired choice more freely and interactively
and will work for the governmental and private firms for the business orientation on the future
.

67
16. BIBLIOGRAPHY

68
REFERENCES

ONLINE

[1] https://stackoverflow.com/

[2] https://www.w3schools.com/

[3] https://en.wikipedia.org/wiki/Main_Page

BOOKS
[1] Headfirst Android Development is a book written by David Griffith.

[2] Android Programming for Beginners is written by John Horton.

69

You might also like