Smart Alzheimer Caregiver App Overview
Smart Alzheimer Caregiver App Overview
PARTICULARS PAGE NO
SYNOPSIS
[Link] 1
[Link] ANALYSIS 9
4.1TEST PLANNING 18
4.2 SYSTEM IMPLEMENTATION 24
[Link] 25
TABLE OF CONTENTS
PARTICULARS PAGE NO
BIBLIOGRAPHY 27
APPENDICES 28
Also, they could forget recent happenings or the names of some of their loved ones.
As a result, these difficulties not only provide a burden for the patient, but also for the
patient's carer. Alzheimer's disease is a severe chronic brain disease that starts with memory
loss and progresses to affects on attention and concentration, planning, thinking, language,
and cognition. We therefore created a smartphone application that enables machine learning
via face recognition algorithms with the intention of helping Alzheimer's sufferers and their
families by making their lives easier. Facial recognition has a variety of practical uses right
now, from public safety to personal security.
It is used to locate and track a potential suspect in a crowd or for identity verification.
Consequently, the application acts as a smart assistant, helping Alzheimer patients recognize
the names and faces of their family members and understand their relationships. A mobile
phone is proposed that can track the patient’s location and send updates to the caregiver,
effectively preventing the risk of the patient getting lost outside the home. Alzheimer's
sufferers experience memory loss, which makes it difficult for them to recall people's names,
faces, or other facts about them, which could put them in awkward circumstances. Also,
individuals have trouble recalling some crucial obligations or appointments that they have to
keep in their daily schedules.
1
Some patients leave their home and end themselves lost because they can't recall how
to get there. As a result, the patient's family and friends could have to spend a lot of time
looking for them without knowing where they are. Consequently, this application suggests
creating a smartphone app with the ability to recognise individuals by looking up each one in
an album that has been categorised according to their face and showing details about the
patient's relationship with that individual. Patients with Alzheimer's are encouraged to feel
more self-assured by this, which enhances their capacity to carry on having social
interactions.
Also, the families do not need to be concerned because the programme may assist in
tracking and supporting the movements of the Alzheimer's patients. The major goal of the
proposed application is to improve the lives of Alzheimer patients so that they and people
around them can cope with the condition more easily. It also outlines how to use machine
learning facial recognition technology to communicate with and recall the faces of those
around them in order to prevent the beginnings of isolation or loneliness. These elements will
enhance not just the daily lives of persons who have Alzheimer's but also of their caretakers
in a variety of ways.
2
By creating an app with capabilities like facial recognition using machine learning,
the suggested application has the potential to help every Alzheimer's patient with a mild-
moderate illness and their caretakers. This aids Alzheimer sufferers in remembering the
people around them and gives carers a mobile GPS monitoring gadget to help them pinpoint
the patient's whereabouts.
This proposal's scope is very broad because it can be applied to many different fields
based on the database that the system is given. It can be utilized in the medical industry to
assist patients with memory loss and those who are blind in identifying persons around them;
in this case, the database is made up of the patient's friends and relatives. If the database is
filled with criminal histories of various people, the technology can be utilized to locate
offenders. The system is still in use while its database is being expanded.
The technology can be made accessible to a wide range of people in our culture
because it is portable and affordable. The people can easily provide their data utilising any
devices with a web camera thanks to the utilisation of online applications for data collecting.
To increase the security of the system, only authorised people are used for data collecting. As
there is a backup of the portable device's data in the server database, data loss is not a
problem. As a result, the system is efficient and trustworthy for a variety of users in all
societies.
3
1.3 SYSTEM SPECIFICATION
RAM Capacity : 8 GB
Hard Disk : 1 TB
Monitor : 14 inch
Speed : 3.3GHZ
Middleware : Java
4
1.4 SOFTWARE ENVIRONMENT
1.4.1 FRONT END: Java
Java has two things: a programming language and a platform. Java is a high-level
programming language that is all of the following
• Simple Architecture-neutral
• Object-oriented Portable
• Distributed High-performance
• Interpreted multithreaded
• Robust Dynamic and Secure
Java is also unusual in that each Java program is both compiled and interpreted. With
a compile you translate a Java program into an intermediate language called Java byte codes
theplatform-independent code instruction is passed and run on the computer. Compilation
happens just once; interpretation occurs each time the program is executed. The figure
illustrates how this works. It is possible to think of Java byte codes as the machine code
instructions for the Java Virtual Machine (Java VM).
Every Java interpreter, whether it’s a Java development tool or a Web browser that
can run Java applets, is an implementation of the Java VM. The Java VM can also be
implemented in hardware. Java byte codes help make “write once, run anywhere” possible.
You can compile your Java program into byte codes on my platform that has a Java compiler.
The byte codes can then be run on any implementation of the Java VM. For example, the
same Java program can run Windows NT, Solaris, and Macintosh.
5
1.4.3 BACK END (Firebase)
Firebase is a relational database system. If one can believe many diehard Firebase
fans, Firebase is faster, more reliable, and cheaper -- or, simply put, better -- than any other
database system (including commercial systems such as Oracle and DB2). Many Firebase
opponents continue to challenge this viewpoint, going even so far as to assert that Firebase is
not even a relational database system.
Features of Firebase
The following list shows the most important properties of Firebase. This section is
directed to the reader who already has some knowledge of relational databases. Some
terminology will be used from the relational database world without defining the terms
exactly. On the other hand, the explanations should make it possible for database novices to
understand to some extent.
Like almost all other database systems on the market, Firebase is a relational database
system.
SQL compatibility
Firebase supports its database language -- as its name suggests – SQL (Structured
Query Language). SQL is a standardized language for querying and updating data and for the
administration of a database. There are several SQL dialects (about as many as there are
database systems). Firebase adheres to the current SQL standard (at the moment SQL:2003),
although with significant restrictions and a large number of extensions. Through the
configuration setting sql-mode one can make the Firebase server behave for the most part
compatible with various database systems. Among these are IBM DB/2 and Oracle.
SubSELECTs
Since version 4.1, Firebase is capable of processing a query in the form SELECT *
FROM table1 WHERE x IN (SELECT y FROM table2) (There are also numerous syntax
variants for subSELECTs.)
6
Client/Server Architecture
Views
Put simply, views relate to an SQL query that is viewed as a distinct database object
and makes possible a particular view of the database. Firebase has supported views since
version 5.0.
Stored procedures
Stored procedures (SPs for short) are generally used to simplify certain steps, such as
inserting or deleting a data record. For client programmers this has the advantage that they do
not have to process the tables directly, but can rely on SPs. Like views, SPs help in the
administration of large database projects. SPs can also increase efficiency. Firebase has
supported SPs since version 5.0.
Triggers
Triggers are SQL commands that are automatically executed by the server in certain
database operations (INSERT, UPDATE, and DELETE). Firebase has supported triggers in a
limited form from version 5.0, and additional functionality is promised for version 5.1.
Unicode
Firebase has supported all conceivable character sets since version 4.1, including
Latin-1, Latin-2, and Unicode (either in the variant UTF8 or UCS2).
7
User interface
There are a number of convenient user interfaces for administering a Firebase server.
Full-text search
Full-text search simplifies and accelerates the search for words that are located within
a text field. If one employs Firebase for storing text (such as in an Internet discussion group),
one can use full-text search to implement simply an efficient search function.
Replication
GIS functions
Since version 4.1, Firebase has supported the storing and processing of two-
dimensional geographical data. Thus Firebase is well suited for GIS (geographic information
systems) applications.
Programming languages
There are quite a number of APIs (application programming interfaces) and libraries
for the development of Firebase applications. For client programming one can use, among
others, the languages C, C++, Java, Perl, Android, Python, and Tcl.
ODBC
8
2. SYSTEM ANALYSIS
2.1.1 DRAWBACKS
People now frequently experience memory loss as a result of stress, despair, and lack
of sleep. Memory loss patients deal with a variety of issues in their daily lives. Even the
places and people they interact with every day escape their memory. Systems like personal
digital assistants that may act as alarms and send alerts to individuals with memory loss are
available to help these folks. Patients with memory loss cannot be helped with medication,
and there is no reliable aid that can help them. To help the patient remember the things and
people around them, they require ongoing care and assistance. By using face recognition to
detect others nearby and notifying them via audio speech, the suggested method addresses
this problem.
9
2.2 PROPOSED SYSTEM
2.2.1 FEATURES
10
3. SYSTEM DESIGN AND DEVELOPMENT
One problem that would have to be overcome is how to deal with the relations and
searching to minimize I/O operations. All fields are variable length apart from the id, year &
length. Server should be able to synchronize the database to all clients with minimal
operations. One way to approach this would be to store the date/time each record was last
modified and have the client store the date of the last sync. When a client comes online, all
changes that date sync back to the client. Another way to do this would be to have a separate
table on the server which lists all the operations that have happened and the date they
happened; and sync in a similar fashion.
Some sort of index will have to be stored for each table for where each record starts.
This could be small enough to load into memory and could be stores in files separate to the
actual tables to avoid issues.
The server will store an "index" of the tracks database in memory with the id and file
name so read operations are kept to a minimum. The server will also buffer database write
operations so that if it detects that a lot of write operations are going to happen in a short
space of time it will wait and then do a batch write. This is possible because the changes to
the file system will still be there if the database crashes, so it could just reload all changes on
restart. NOT sparse file to keep file size to a minimum. The main problem will be
fragmentation when a record is deleted. Because of the variable length fields, a new record
cannot be added in that place. So fixed length fields should not be used either (as the filename
could be huge for instance).
11
3.2 INPUT DESIGN
Input design is a crucial part of any application as it determines how users enter data into the
system. A well-structured input design ensures accuracy, efficiency, and ease of use. The
main goal is to make data entry simple, reduce errors, and provide a smooth experience for
users.
The Smart Alzheimer Caregiver App is designed with a simple and interactive input
system to help caregivers and patients enter and manage important information easily. The
app features structured forms, dropdown menus, text fields, and image upload options to
ensure smooth data entry. The goal of the input design is to make the process efficient, user-
friendly, and accessible for both caregivers and individuals dealing with Alzheimer's.
The app starts with a sign-in page, where users input their email and password for
authentication. This ensures secure access to the app’s features. After logging in, users are
directed to the dashboard, which contains different options like identifying people, tracking
locations, managing tasks, setting appointments, and cognitive training. Each section includes
input fields that allow users to enter relevant details.
For appointments, users can input a doctor’s name, specialization, hospital location,
date, and time. There is also an option to upload medical documents or prescriptions for
better record-keeping. Similarly, the daily routine feature helps caregivers plan activities by
entering a title, date, and time, ensuring that important daily tasks are followed
The location tracking feature allows users to store frequently visited places by
entering a location name and coordinates. This helps in guiding patients safely to familiar
locations. The task management feature enables users to create and manage tasks by
12
inputting a title and description. This helps caregivers in organizing daily responsibilities
effectively and ensuring nothing is forgotten.
The input design of the Smart Alzheimer Caregiver App is made to be simple, easy
to use, and efficient. It includes clear input fields, validation checks, and accessibility options
to help caregivers enter patient information quickly and accurately. This design helps prevent
mistakes and ensures that all important details are recorded properly. By making data entry
smooth and error-free, the app becomes a useful and reliable tool for caregivers, helping them
manage the care of Alzheimer’s patients more effectively.
13
3.3 OUTPUT DESIGN
The output design of the Smart Alzheimer Caregiver App is focused on displaying
information in a clear, structured, and easy-to-understand manner. It ensures that
caregivers and patients can quickly access necessary details without confusion. The app
provides different types of outputs that help in tracking tasks, reminders, appointments,
and familiar people effectively.
One of the main features of the output design is the Appointment Display, which
shows upcoming medical visits along with doctor details and appointment dates. This helps
caregivers and patients stay informed about scheduled check-ups and treatments.
Another important feature is the Reminder System, which provides alerts for tasks
like medication intake, daily activities, and important events. These reminders appear on
the screen with clear text and notifications to ensure that no task is missed.
The Location Display presents a list of saved locations that are frequently visited by
the patient. It helps caregivers and patients identify safe places with ease. This feature
enhances navigation and reduces the risk of disorientation.
Additionally, the People Identification System displays photos, names, and contact
details of familiar individuals. This helps Alzheimer’s patients recognize their loved ones
and caregivers more easily, providing them with a sense of comfort and familiarity.
Overall, the output design ensures that all essential details are presented in a user-
friendly, visually clear, and accessible format, making it easier for both caregivers and
patients to manage daily tasks effectively.
14
Fig 3.2 User Profile
15
3.4 DATABASE DESIGN
With flat files, it is possible to add information, as you deem necessary. With
relational databases, it is required to be careful to store data in tables such that the
relationships make sense. Building a relational database is dependent upon the ability to
establish a relational model. The model must fully describe how the data is organized, in
terms of data structure, integrity, querying, manipulation and storage.
16
3.5 SYSTEM DEVELOPMENT
The Alzheimer's Helper application is designed to help Alzheimer’s patients live more
independently and safely. The application is divided into different modules, each serving a
specific purpose to improve the patient’s day-to-day life and provide support for caregivers.
These modules work together to ensure that the patient’s safety, memory, and well-being are
● Home Page
● Photo Album Page
● Add Photo Page
● Location Page
● Reminders Page
● Home page: The patient first visits this home page. They can easily navigate the
full application through the page.
● Photo album page:This page shows important people whose photos have been
uploaded and identified using face recognition. Each person has a named folder
storing their images, which the patient can view easily.
● Add photo page: The user can submit a photo, tag the person in it, and add it to
the photo album in the appropriate folder so that the patient can see it thanks to
this feature, which is available on the interface.
● Location page:The UI shows this feature if the tracking phone is connected,
allowing the carer to monitor the patient’s location and receive alerts if they
leave a specific area.
17
4. TESTING AND IMPLEMENTATION
The common view of testing held by users is that it is performed to prove that there
are no errors in a program. This is extremely difficult since designers cannot prove to be one
hundred percent accurate. Therefore, the most useful and practical approach is with the
understanding that testing is the process of executing a program with explicit intention of
finding errors that make the program fail.
Testing has its own cycle. The testing process begins with the product requirements
phase and from there parallels the entire development process. In other words, for each phase
of the development process there is an important testing activity. Successful testing requires a
methodical approach. It requires focusing on basic critical factors:
● Planning
● Project and process control
● Risk management
● Inspections
● Measurement tools
● Organization and professionalism
Before going for testing, first we have to decide upon the type of testing to be carried
out. The following factors are taken into consideration:
18
UNIT TESTING
VALIDATION TESTING
Validation testing provides the final assurance that software meets all functional,
behavioural and performance requirements. The software once validated must be combined
with other system elements. System testing verifies that as elements combine properly and
that overall system function and performance is achieved.
INTEGRATION TESTING
● To ensure that data being entered or extracted is accurate, Alzheimer Assistant has
a verification system in place.
● Users showed trust in their ability to utilise the system and their perception of its
efficacy.
● Users said they could control the system, particularly when entering or extracting
data.
● It was determined that the programme was easy to use.
● It was regarded as a quick and effective system.
19
TEST CASES
Sign in page
User dashboard
20
Appointments
Routine
21
Locations
People identification
22
Tasks
Alarm
23
Profile
System implementation is the important stage of a project when the theoretical design
is tuned into a practical system. The main stages in the implementation are as follows:
● Planning
● Training
● System testing and Changeover planning
Planning is the first task in the system implementation. Planning is deciding on the
method and the time scale to be adapted. At the time of implementation of any system people
from different departments and system analysis are involved. They are confirmed to be a
practical problem of controlling various activities of people outside their own data processing
departments. The line manager controlled through an implementation co-ordinate committee.
The committee consists of ideas, Problems and complaints of the user department. It must
also consider,
24
5. CONCLUSION
The software is completely menu driven and extremely user friendly since it is
developed in an efficient front-end tool. Appropriate error messages are provided to guide
the user in a proper and user-friendly manner. Time consumptions are reduced to a great
extent and the user has less complexity in handling the system. End users will be very
much satisfied with the software. Tables are designed with primary keys and foreign keys
in order to establish relationship between tables. In order to get ideas for implementation,
flow diagrams have been designed. All types of updating can be made through the system
whenever necessary. The software created is attractive and user-friendly. It is highly
interactive too. The software appears more flexible, which is completely menu-driven, it
gives advantage, as it needs less typing by the user. It maintains data consistency. The
system reduces workload and produces adequate and timely information as and when
required. Software has been developed and tested.
The Alzheimer Assistant app was created specifically to help Alzheimer's patients
identify people by looking at the album on the app, which has classified each person by
their face and displayed information about their relationship; and by giving them a
tracking mobile phone that enables the patient's family to find them in the event that they
get lost and lose their way. As a result, our programme encourages Alzheimer's sufferers
to feel more secure when taking part in routine tasks, which enhances their capacity to
regularly participate in social events. This application has successfully shown that it can
support the relatives and carers of Alzheimer's patients. The absence of a feature that
would allow carers to check on patients remotely would prevent this application from
receiving the official endorsement of the Alzheimer's Patients Association of India.
25
6. SCOPE FOR FUTURE ENHANCEMENT
The Smart Alzheimer Caregiver App has the potential for several future
enhancements to further improve its functionality, usability, and effectiveness in supporting
caregivers and Alzheimer patients. As technology continues to advance, integrating new
features can enhance the caregiving experience and provide better patient care.
● Another key feature is Geo-Fencing and Emergency Alerts, where caregivers can
set safe zones, such as home or familiar surroundings, using GPS-based geo-fencing.
If a user moves beyond these zones, automatic alerts notify caregivers, reducing the
risk of wandering and ensuring timely intervention.
● To help users maintain a structured routine, Medication and Daily Task Reminders
provide AI-powered notifications for medication schedules and daily activities. These
reminders can be personalized based on user needs and integrated with voice
assistance for ease of use.
26
BIBLIOGRAPHY
BOOK REFERENCES
WEB REFERENCES
● [Link]
● [Link]/manual/en/[Link]
● [Link]/Java
● [Link]
● [Link]
● [Link]
27
APPENDICES
A data flow diagram is a graphical tool used to describe and analyze movement of
data through a system. These are the central tool and the basis from which the other
components are developed. The transformation of data from input to output, through
processing, may be described logically and independently of physical components associated
with the system. These are known as the logical data flow diagrams.
The physical data flow diagrams show the actual implements and movement of data
between people, departments and workstations. A full description of a system actually
consists of a set of data flow diagrams. Each component in a DFD is labeled with a
descriptive name. Process is further identified with a number that will be used for
identification purposes. The development of DFD’S is done in several levels. Each process
in lower-level diagrams can be broken down into a more detailed DFD in the next level. The
top-level diagram is often called a context diagram. It consists of a single process bit, which
plays a vital role in studying the current system. The process in the context level diagram is
exploded into another process at the first level DFD.
The idea behind the explosion of a process into more processes is that understanding
at one level of detail is exploded into greater detail at the next level. This is done until further
explosion is necessary and an adequate amount of detail is described for analyst to understand
the process. A DFD is also known as a “bubble Chart” and has the purpose of clarifying
system requirements and identifying major transformations that will become programs in
system design. So it is the starting point of the design to the lowest level of detail. A DFD
consists of a series of bubbles joined by data flows in the system.
DFD symbols
28
● An open rectangle is a data store, data at rest or a temporary repository of data.
SYMBOL DESCRIPTION
Data flow
Data Store
Constructing a DFD
● Processes should be named and numbered for an easy reference. Each name
should be representative of the process.
● The direction of flow is from top to bottom and from left to right. Data
traditionally flow from source to destination although they may flow back to the
source. One way to indicate this is to draw a long flow line back to a source.
● An alternative way is to repeat the source symbol as a destination. Since it is used
more than once in the DFD it is marked with a short diagonal. When a process is
exploded into lower-level details, they are numbered.
● The names of data stores and destinations are written in capital letters. Process and
dataflow names have the first letter of each work capitalized.
A DFD typically shows the minimum contents of a data store. Each data store should
contain all the data elements that flow in and out. Exams should contain all the data elements
29
that flow in and out. Missing interfaces redundancies and like is then accounted for often
through interviews.
● The DFD shows flow of data, not of control loops and decision are controlled
considerations that do not appear on a DFD.
● The DFD does not indicate the time factor involved in any process whether the
data flowtakes place daily, weekly, monthly or yearly.
● The sequence of events is not brought out on the DFD.
Current physical
In current physical DFD process label include the name of people or their positions or
the names of computer systems that might provide some of the overall system-processing
label that includes an identification of the technology used to process the data. Similarly,
data flows and data stores are often labeled with the names of the actual physical media on
which data are stored such as file folders, computer files, business forms or computer tapes.
New logical
This is exactly like a current logical model if the user were completely happy with the
user were completely happy with the functionality of the current system but had problems
with how it was implemented typically through the new logical model will differ from current
logical model while having additional functions, absolute function removal and inefficient
flows recognized.
New physical
The new physical represents only the physical implementation of the new system.
Current logical
The physical aspects of the system are removed as much as possible so that the
current system is reduced to its essence to the data and the processors that transform them
regardless of actual physical form.
Process
No process can have only outputs. No process can have only inputs. If an object has
only inputs then it must be a sink. A process has a verb phrase label.
30
Data store
Data cannot move directly from one data store to another data store, a process must
move data. Data cannot move directly from an outside source to a data store, a process, which
receives, must move data from the source and place the data into the data store. A data store
has a noun phrase label.
Source or sink
Source is the origin or destination of data. Data cannot move directly from a source to
sink it must be moved by a process. A source or sink has a noun phrase land.
Levels of DFD
The complexity of the business system means that it is responsible to represent the
operations of any system in a single data flow diagram. At the top level, an Overview of the
different systems in an organization is shown by way of a context analysis diagram. When it
exploded into DFD. The input and output data shown should be consistent from one level to
the next.
A level-0 DFD describes the system-wide boundaries, dealing inputs to and outputs
from the system and major processes. This diagram is similar to the combined user-level
context diagram.
A level-1 DFD describes the next level of details within the system, detailing the data
flows between subsystems, which make up the whole.
All the projects are feasible given unlimited resources and infinite time. It is both
necessary and prudent to evaluate the feasibility of the project at the earliest possible time.
Feasibility and the risk analysis are pertained in many ways if project risk is great.
31
DFD Level 0
Level 1
Enters
1.0
User
Registration
1.1
User
Login
1.2
Manage Photo
photo
Reports
32
Level 2
Enters
2.0
User
Registration
2.1
User
Login
2.2
Manage Photo
people
2.3
Location
Manage
Location
2.4
Reminder
Reminder
Reports
33
B. ER DIAGRAM
The entity is a person, object, place or event for which data is collected. For example,
if the information system for a business is considered, entities would include not only
customers, but the customer's address, and orders as well. The entity is represented by a
rectangle and labelled with a singular noun.
The relationship is the interaction between the entities. In the example above, the
customer places an order, so the word "places" defines the relationship between that instance
of a customer and the order or orders that they place. A relationship may be represented by a
diamond shape, or more simply, by the line connecting the entities. In either case, verbs are
used to label the relationships.
The cardinality defines the relationship between the entities in terms of numbers. An
entity may be optional: for example, a sales rep could have no customers or could have one or
many customers; or mandatory: for example, there must be at least one product listed in an
order.
There are several different types of cardinality notation; crow's foot notation, used
here, is a common one. In crow's foot notation, a single bar indicates one, a double bar
indicates one and only one (for example, a single instance of a product can only be stored in
one warehouse), a circle indicates zero, and a crow's foot indicates many. The three main
cardinal relationships are: one-to-one, expressed as 1:1; one-to-many, expressed as 1:M; and
many-to-many, expressed as M:N.
34
Symbols & their meaning in ERD
SYMBOLS DESCRIPTION
Relationship
Attribute
Derived attribute
Relationship
35
ER diagram
Pwd
Umobile User
pid
Email Email
rdtime
pdate
Reminder Photo
Maintains
rname pname
pmobile
rid
Location
locid
lname
ldate
location
36
C. TABLE STRUCTURE
37
Table Name : reminder
38
D. SYSTEM FLOW DIAGRAM
Start
Profile creation
Stop
The system flow diagram illustrates the process starting from profile creation, branching into
reminders, locations, and people & photos, and ultimately leading back to the start. It visually
represents a structured workflow for managing user information and interactions within the
system.
39
E. SAMPLE CODING
Mainactivity
package [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
import [Link]
[Link](savedInstanceState)
setContentView([Link].activity_main)
init()
supportActionBar?.setBackgroundDrawable([Link]([Link]))
loadFragment(DashbaordFragment())
40
findViewById<BottomNavigationView>([Link].bottom_navigation).setOnNavigationItemSele
ctedListener { item ->
when ([Link]) {
[Link].navigation_dashboard -> {
fragment = DashbaordFragment()
supportActionBar?.title = [Link]([Link])
[Link].navigation_daily_routine -> {
fragment = DailyRoutineFragment()
supportActionBar?.title = [Link]([Link].daily_routine)
[Link].navigation_profile -> {
fragment = ProfileFragment()
supportActionBar?.title = [Link]([Link])
loadFragment(fragment)
if (fragment != null) {
[Link]()
41
.replace([Link].fragment_container, fragment)
.commit()
return true
return false
[Link]
<RelativeLayoutxmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_gradient"
tools:context=".SignupActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/input_group"
android:layout_alignParentTop="true"
android:layout_margin="10dp"
42
android:orientation="vertical">
<[Link]
android:id="@+id/signup_image_upload"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_centerInParent="true"
android:elevation="10dp"
android:padding="2dp"
android:scaleType="centerCrop"
android:src="@drawable/user"
app:shapeAppearanceOverlay="@style/roundedImageViewRounded"
app:strokeColor="@color/white_shadow"
app:strokeWidth="2dp" />
<TextView
android:id="@+id/image_error_text"
style="@style/[Link]"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/signup_image_upload"
android:layout_centerInParent="true"
android:gravity="center"
android:text="@string/select_your_photo"
43
android:textColor="@color/white_shadow"
android:textStyle="bold"
android:visibility="gone" />
</RelativeLayout>
<LinearLayout
android:id="@+id/input_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginBottom="20dp"
android:gravity="center"
android:orientation="vertical">
<EditText
android:id="@+id/signup_name"
style="@style/[Link]"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edt_top"
android:hint="@string/name"
44
android:inputType="text"
android:padding="15dp"
android:textColor="@color/purple_light"
android:textColorHint="@color/edit_text_color" />
<EditText
android:id="@+id/signup_dob"
style="@style/[Link]"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edt_middle"
android:hint="@string/dob"
android:inputType="date"
android:maxLines="1"
android:padding="15dp"
android:textColor="@color/purple_light"
android:textColorHint="@color/edit_text_color" />
<EditText
android:id="@+id/signup_email"
style="@style/[Link]"
android:layout_width="match_parent"
android:layout_height="wrap_content"
45
android:background="@drawable/edt_middle"
android:hint="@string/email"
android:inputType="textEmailAddress"
android:padding="15dp"
android:textColor="@color/purple_light"
android:textColorHint="@color/edit_text_color" />
<EditText
android:id="@+id/signup_password"
style="@style/[Link]"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edt_middle"
android:hint="@string/password"
android:inputType="textPassword"
android:padding="15dp"
android:textColor="@color/purple_light"
android:textColorHint="@color/edit_text_color" />
<EditText
android:id="@+id/signup_password_confirm"
style="@style/[Link]"
android:layout_width="match_parent"
46
android:layout_height="wrap_content"
android:background="@drawable/edt_bottom"
android:hint="@string/confirm_password"
android:inputType="textPassword"
android:padding="15dp"
android:textColor="@color/purple_light"
android:textColorHint="@color/edit_text_color" />
<Button
android:id="@+id/signup_btn"
style="@style/[Link]"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/button"
android:foreground="?attr/selectableItemBackground"
android:gravity="center"
android:text="@string/signup"
android:textColor="@color/purple_700" />
<TextView
android:id="@+id/signin_text"
style="@style/[Link].Body2"
47
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:fontFamily="sans-serif"
android:gravity="center"
android:padding="10dp"
android:text="@string/signinNow"
android:textAllCaps="true"
android:textColor="@color/white_shadow"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
[Link]
<[Link]:android="[Link]
[Link]/apk/res/android"
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_bg"
tools:context=".MainActivity">
48
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
app:layout_behavior="[Link]$ScrollingViewBe
havior" />
<[Link]
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/purple_light"
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
app:menu="@menu/bottom_navigation_menu" />
</[Link]>
49
F. SAMPLE INPUT
Allows users to schedule appointments by entering details like doctor’s name, specialty,
50
Fig F.2 Adding Location
This feature lets users save a location by entering a name and its corresponding latitude-
longitude details. It helps in easily identifying and accessing frequently visited places.
51
Fig F.3 Adding people to identify
This feature allows users to add and remember people by entering their name and phone
number.
52
G. SAMPLE OUTPUT
This feature displays scheduled appointments with details like doctor’s name, specialty,
53
Fig G.2 Viewing people
This feature displays the list of identified people with their images and names for easy
recognition.
This feature lets users save a location by entering a name and latitude-longitude details.
54
Fig G.4 After alarm activated
55