You are on page 1of 36

BENGALURU NORTH UNIVERSITY

Tamaka, Kolar – 560 103

VI Sem BCA Project Report

MEDI CONSULT ANDROID APP

By

USHA M

Under the Guidance of

Mrs. Nithya

(Department of Computer Applications)

Smt. Danamma Channabasavaiah College of Arts, Commerce, Science


And Management Studies
Kodiramasandra, NH – 75, Bypass, Kolar – 563103
(NAAC Accredited with ‘B’ Grade and affiliated to Bengaluru North University)
Academic Year 2019 - 22
3
Smt. Danamma Channabasavaiah College of Arts, Commerce, Science
And Management Studies
Kodiramasandra, NH – 75, Bypass, Kolar – 563103
(NAAC Accredited with ‘B’ Grade and affiliated to Bengaluru North University)

Certificate
Certified that the project entitled “MEDI CONSULT ANDROID APP”
carried out by Usha M bonafide student of Smt. Danamma Channabasavaiah
College of Arts, Commerce, Science and Management Studies in partial fulfilment
for the award of the degree of Bachelor of Computer Applications of Bengaluru
North University during the year 2019-2022. The project report has been approved
as it satisfies the academic requirements in respect of project work prescribed by the
said degree.

Mrs. Nithya Mr. Satyajit Ray

Project Guide HOD of Computer


Science

External

Name of the Examiner Signature with


Date

4
Smt. Danamma Channabasavaiah College of Arts, Commerce, Science
And Management Studies
Kodiramasandra, NH – 75, Bypass, Kolar – 563103
(NAAC Accredited with ‘B’ Grade and affiliated to Bengaluru North University)

I student of Sixth semester B.C.A, at the department of Computer Applications, Smt.


Danamma Channabasavaiah College of Arts, Commerce, Science and Managemen
Studies, declare that the Project entitled “MEDI CONSULT ANDROID APP” has
been presented by me and submitted in partial fulfillment of course requirements for
the award of degree in Bachelor of Computer Applications of Bengaluru North
University, Tamaka, Kolar during the academic year 2019-2022.

Place: Kolar

Date:

5
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompany the successful completion of any
task would be incomplete without the mention of the people who made it possible,
whose constant guidance and encouragement crowned our efforts with success.

I have a great pleasure in expressing my deep sense of gratitude to my respected


founder chairperson Smt. Usha Gangadhar for having provided me with great
infrastructure and well-furnished labs.

I take this opportunity to express my profound gratitude to our respected


Principal Prof. Pushpalatha K for her constant support and encouragement.

I am grateful to the Vice Principal and Head of the Department Mr. Satyajit Ray,
Department of Computer Science and Applications for his unfailing encouragement
and suggestion given to me in the course of Project work.

Guidance and deadlines play a very important role in successful completion of


the project report on time. I also convey my gratitude to Mrs. Nithya, Assistant
Professor, Department of Computer Science and Applications for having constantly
monitored the development of the project report and setting up precise deadlines.

Finally, a note thanks to the Department of Science and Applications, both


teaching and non-teaching staff for their co-operation extend to me.

6
ABSTRACT

This project is based on the Mobile Application for Online Consultancy for people all around
the world. This App basically allows us to Consult ourselves while sitting at our Home.

From this application, a user can input their Symptoms and can get a list of Diseases that they
can have and provides basic Information regarding that Diseases. It also provides link for
more Information. Also provides Option for finding nearby Hospitals and Emergency Calls.

7
TABLE OF CONTENTS

1 Synopsis
2 Software Development Life Cycle
3 Software Requirement Specification
4 Software and Connectivity
5 Feasibility Study
6 System Analysis
7 ER Diagram
8 Data Flow Diagram
9 Snapshots
10 Coding
11 Data Base
12 Testing
13 Implementation
14 Future Enhancements
15 Conclusion
16 Bibliography

8
SYNOPSIS
This Project is entitled as Medi Consult. As the name itself suggest it is a Medical
App. It takes Symptoms as user’s inputs and displays the list of Diseases as per
priorities based on list of Symptoms provided by User.

• WELCOME PAGE

• HOME PAGE
o Name
o Age
o Gender

• DISEASE CHECKER
o Entering the Symptoms
o Displaying of Diseases
o Link for Detailed Information

• NEARBY HOSPITALS

• SOS CALL
o Enter Number

• CONTACT US
o Call
o Mail
o Location

9
1.1 Purpose

As we know in today’s rush it is difficult to take a Doctor’s appointment in


Emergency. So, what to do until we get an appointment with Doctor. That’s
where this App’s comes into the action. A user can input their Symptoms and
can get a list of Diseases they may poses.

1.2 Scope

With the help of this application one can prevent their Diseases from spreading
more. This can save someone’s Life who cannot reach to the Doctor in case of
Emergency. They can at least take some action for preventing their Disease.

1.3 Objective

The main objective of this application is to help people to cure them and save
their Time, Money and Resources, and save their Lives as well.

10
Software Development Life Cycle (SDLC):

SOFTWARE DEVELOPMENT
LIFE CYCLE
SDLC is a systematic process for building software that ensures the quality and correctness of the software
built. SDLC process aims to produce high-quality software that meets customer expectations. The system
development should be complete in the pre-defined time frame and cost. SDLC consists of a detailed plan
which explains how to plan, build, and maintain specific software. Every phase of the SDLC life Cycle has
its own process and deliverables that feed into the next phase. SDLC stands for Software Development
Life Cycle and is also referred to as the Application Development life-cycle.

Phases of SDLC are:


• Requirement Analysis
• Design
• Implementation
• Testing
• Evolution

1. Requirement Analysis:
11process. It is conducted by the senior team members
The requirement is the first stage in the SDLC
with inputs from all the stakeholders and domain experts in the industry. Planning for the quality
assurance requirements and reorganization of the risks involved is also done at this stage.

2. Design:
In this phase, the system and software design documents are prepared as per the requirement
specification document. This helps define overall system architecture.

High-Level Design (HLD)

• Brief description and name of each module


• An outline about the functionality of every module
• Interface relationship and dependencies between modules

Low-Level Design (LLD)

• Functional logic of the modules


• Database tables, which include type and size
• Complete detail of the interface

3. Implementation:
Once the system design phase is over, the next phase is coding. In this phase, developers
start build the entire system by writing code using the chosen programming language. In the coding
phase, tasks are divided into units or modules and assigned to the various developers. It is the longest
phase of the Software Development Life Cycle process.

4. Testing:
Once the software is complete, and it is deployed in the testing environment. The testing team
starts testing the functionality of the entire system. This is done to verify that the entire application
works according to the customer requirement.

During this phase, QA and testing team may find some bugs/defects which they communicate
to developers. The development team fixes the bug and send back to QA for a re-test. This process
continues until the software is bug-free, stable, and working according to the business needs of
that system.

5. Evolution:
Once the system is deployed, and customers start using the developed system, following 3
activities occur

• Bug fixing – bugs are reported because of some scenarios which are not tested at all
• Upgrade – Upgrading the application to the newer versions of the Software
• Enhancement – Adding some new features into the existing software

The main focus of this SDLC phase is to ensure that needs continue to be met and that the system
continues to perform as per the specification mentioned in the first phase.

Software process models:


12
Software process model is a simple description of software process. Some popular types of software
process models are:

• Waterfall Model
• Spiral Model
• Iterative Enhancement Model
For the development of our project, we used Waterfall Model.

Waterfall Model (Linear Sequential Model):


The Waterfall model—is a sequential development process that flows like a waterfall through all
phases of a project (analysis, design, development, and testing, for example), with each phase completely
wrapping up before the next phase begins.

It is said that the Waterfall methodology follows the adage to “measure twice, cut once.” The
success of the Waterfall method depends on the amount and quality of the work done on the front end,
documenting everything in advance, including the user interface, user stories, and all the features’
variations and outcomes. With the majority of the research done upfront, estimates of the time needed for
each requirement are more accurate, and this can provide a more predictable release date. With a Waterfall
project, if parameters change along the way, it’s harder to change course than it is with Agile methodology.

The Waterfall methodology follows a chronological process and works based on fixed dates, requirements,
and outcomes. With this method, the individual execution teams aren’t required to be in constant
communication and, unless specific integrations are required, are usually self-contained. Team members
also tend to work independently and aren’t expected to provide status reports as often as with the Agile
approach. Usually, one phase doesn’t begin until the previous one is finished.
13
1. Requirements:
The Waterfall methodology depends on the belief that all project requirements can be
gathered and understood upfront. The project manager does their best to get a detailed
understanding of the project sponsor’s requirements. Written requirements, usually
contained in a single document, are used to describe each stage of the project.
2. Design:
Here, software developers design a technical solution to the problems set out by the product
requirements, including scenarios, layouts, and data models. First, a higher-level or logical
design is created that describes the purpose and scope of the project, the general traffic flow
of each component, and the integration points. Once this is complete, it is transformed into
a physical design using specific hardware and software technologies.

3. Implementation:
Once the design is complete, technical implementation starts. This might be the shortest
phase of the Waterfall process, because painstaking research and design have already been
done. In this phase, programmers code applications based on project requirements and
specifications, with some testing and implementation taking place as well. If significant
changes are required during this stage, this may mean going back to the design phase.

4. Verification:
Before a product can be released to customers, testing needs to be done to ensure the product
has no errors and all of the requirements have been completed, ensuring a good user
experience with the software. The testing team will turn to the design documents, personas,
and user case scenarios supplied by the product manager to create their test cases.

5. Maintenance:
Once the software has been deployed in the market or released to customers, the
maintenance phase begins. As defects are found and change requests come in from users, a
team will be assigned to take care of updates and release new versions of the software.

Advantages of Waterfall Model:


• Developers can catch design errors during the analysis and design stages, helping them to avoid
writing faulty code during the implementation phase.

• The total cost of the project can be accurately estimated, as can the timeline, after the requirements
have been defined.

• With the structured approach, it is easier to measure progress according to clearly defined
milestones.

Disadvantages of Waterfall Model:


• Projects can take longer to deliver with this chronological approach than with an iterative one,
such as the Agile method.

• Clients often don’t fully know what they want at the front end, opening the door to requests for
changes and new features later in the process when they’re harder to accommodate.

• Clients are not involved in the design and implementation stages.

14
SOFTWARE REQUIREMENT SPECIFICATION
3.1 User Characteristics

The application has been made very user friendly with basic Interface. Application is
well organized with attractive UI. The UI is very simple and easy to use and
understand.

3.2 Hardware Requirements

▪ Processor: i3/i5/i7 8gen or above

▪ Processor Speed: 2.16GHZ or above

▪ RAM: 8 GB RAM or above

▪ Storage: 20 GB hard disk or above

▪ 1280 X 800 MINIMUM SCREEN RESOLUTION

3.3 Software Requirements

• Android Studio 3.4/3.5

• Adobe XD

JDK 11.0.1

15
SOFTWARE AND CONNECTIVITY
For developing an Android Application, I’ve used Android Studio software. It is an
open source software. I’ve designed UI in Android Studio using XML.

4.1 Installing Android Studio

Android Studio is an open source software. You can download and set up it from
the official website. After installing Android Studio, you have to setup the path
for SDK and download the desired API and desired emulator to test your
application.

4..2 Creating UI
You can design UI using XML in Android Studio. To create attractive UI, you can also
use Adobe XD.

4.3 Major Functionalities

This project includes main 3 functions:

• Symptoms Checker
• Nearby Hospitals
• SOS Call

16
FEASIBILITY STUDY
Feasibility study:
A feasibility study is a detailed analysis that considers all of the critical aspects of a proposed
project in order to determine the likelihood of it succeeding. Success in business may be defined primarily
by return on investment, meaning that the project will generate enough profit to justify the investment.
However, many other important factors may be identified on the plus or minus side, such as community
reaction and environmental impact. Although feasibility studies can help project managers determine the
risk and return of pursuing a plan of action, several steps should be considered before moving forward.

1. Technical Feasibility
The technological resources that are used by the company should undergo an examination. It assists
businesses in determining whether technical resources are sufficient for the job and whether the technical
team is capable of executing planned concepts. To assess the technical viability factors like the system's
hardware, software, and other possible technical needs are taken into account.

2. Economic Feasibility
A cost-benefit analysis of the project is frequently included in this review, which helps firms determine the
project's viability, cost, and benefits before investing financial resources. It also serves as an unbiased
project evaluation, enhancing project credibility by supporting decision-makers in identifying the proposed
project's favorable economic benefits to the company.

3. Legal feasibility
This assessment looks into if any component of the proposed project violates any regulations, such as
zoning laws, data protection legislation, or social media laws. Let us take an example that a company that
desires to build a new office building at a particular location. A feasibility study may discover that the
desired location for the company is not designated for that sort of business.

17
SYSTEM ANALYSIS
System Analysis
It is a process of collecting and interpreting facts, identifying the problems, and decomposition of a system
into its components.
System analysis is conducted for the purpose of studying a system or its parts in order to identify its
objectives. It is a problem-solving technique that improves the system and ensures that all the components
of the system work efficiently to accomplish their purpose.
Analysis specifies what the system should do.

Self-Analysis of Project Viabilities

The project was a good experience for me. I think that from this project I learnt a lot
about how an official application works.

18
Data Flow Diagram
A data-flow diagram is a way of representing a flow of data through a process or a system (usually
an information system). The DFD also provides information about the outputs and inputs of each entity and
the process itself. A data-flow diagram has no control flow — there are no decision rules and no loops.
Specific operations based on the data can be represented by a flowchart. There are several notations for
displaying data-flow diagrams. The notation presented above was described in 1979 by Tom DeMarco as
part of structured analysis.
For each data flow, at least one of the endpoints (source and / or destination) must exist in a process. The
refined representation of a process can be done in another data-flow diagram, which subdivides this process
into sub-processes. The data-flow diagram is a tool that is part of structured analysis and data modelling.
When using UML, the activity diagram typically takes over the role of the data-flow diagram. A special
form of data-flow plan is a site-oriented data-flow plan. Data-flow diagrams can be regarded as
inverted Petri nets, because places in such networks correspond to the semantics of data memories.
Analogously, the semantics of transitions from Petri nets and data flows and functions from data-flow
diagrams should be considered equivalent.

19
SNAPSHOTS

Welcome Page

20
Home Page

21
5.3 Disease Checker

22
23
24
25
CODING:
CONTACT US;
package com.ndkapp.www.mediconsult;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class activity_contact_us extends AppCompatActivity {

TextView t1;
TextView t2;
TextView t3;
ImageView i1;
ImageView i2;
ImageView i3;
private static final int REQUEST_CALL = 1;

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

t1 = findViewById(R.id.call_cs);
t2 = findViewById(R.id.mail_cs);
t3 = findViewById(R.id.map_cs);
i1 = findViewById(R.id.final_call);
i2 = findViewById(R.id.final_mail);
i3 = findViewById(R.id.final_map);

final String num = "6364355530";


t1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
makePhoneCall(num);
}
});

i1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
makePhoneCall(num);
}
});
26
t2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_SENDTO);
i.setType("message/rfc822");
i.setData(Uri.parse("mailto:" + "usha.gowda@gmail.com"));
i.putExtra(Intent.EXTRA_SUBJECT, "Query or Feedback");
try {
startActivity(Intent.createChooser(i, "Choose an Email client
:"));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(activity_contact_us.this, "There are no email
clients installed.", Toast.LENGTH_SHORT).show();
}
}
});

i2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_SENDTO);
i.setType("message/rfc822");
i.setData(Uri.parse("mailto:" + "usha.gowda@gmail.com"));
i.putExtra(Intent.EXTRA_SUBJECT, "Query or Feedback");
try {
startActivity(Intent.createChooser(i, "Choose an Email client
:"));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(activity_contact_us.this, "There are no email
clients installed.", Toast.LENGTH_SHORT).show();
}
}
});

t3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent bIntent = new Intent(Intent.ACTION_VIEW);

bIntent.setData(Uri.parse("https://www.google.com/maps/dir/13.143539,78.2134339/sdc+k
olar+location+url/@13.1300524,78.1351436,13z/data=!3m1!4b1!4m9!4m8!1m1!4e1!1m5!1m1!1s
0x3badf0514213ee29:0xa326ce6782c86a55!2m2!1d78.149723!2d13.1223742"));
startActivity(bIntent);
}
});

i3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent bIntent = new Intent(Intent.ACTION_VIEW);

bIntent.setData(Uri.parse("https://www.google.com/maps/dir/13.143539,78.2134339/sdc+k
olar+location+url/@13.1300524,78.1351436,13z/data=!3m1!4b1!4m9!4m8!1m1!4e1!1m5!1m1!1s
0x3badf0514213ee29:0xa326ce6782c86a55!2m2!1d78.149723!2d13.1223742"));
startActivity(bIntent);
}
});

private void makePhoneCall(String num)


{
if(ContextCompat.checkSelfPermission(activity_contact_us.this,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(activity_contact_us.this,
27 new String[]
{Manifest.permission.CALL_PHONE},REQUEST_CALL );
}
else
{
String dial = "tel:" +num;
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(dial)));
}
}
}

ACTIVITY DISEASE:
package com.ndkapp.www.mediconsult;

import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView;

import android.content.Intent;

import android.net.Uri;
import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import org.w3c.dom.Text;

public class activity_disease extends AppCompatActivity {

TextView head ;
TextView info[] = new TextView[2];
CardView dis_content;
ImageView im[] = new ImageView[7];

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

head = findViewById(R.id.card_head);
dis_content = findViewById(R.id.cardView);
im[0] = findViewById(R.id.content_disease1);
im[1] = findViewById(R.id.content_disease2);
info[0] = findViewById(R.id.info1);
info[1] = findViewById(R.id.info2);

String name = getIntent().getStringExtra("name");


String gender = getIntent().getStringExtra("gender");
int max = getIntent().getIntExtra("max",0);
int[] c = getIntent().getIntArrayExtra("c");
head.setText(gender+" "+name+" you may have...");

int i=0;

if (max == c[0]) {
im[i].setImageDrawable(getResources().getDrawable(R.drawable.d1));

info[i].setVisibility(View.VISIBLE);
info[i].setMovementMethod(LinkMovementMethod.getInstance());
info[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent =28new Intent(Intent.ACTION_VIEW);

browserIntent.setData(Uri.parse("https://www.google.com/search?q=diarrhoea&oq=diarrho
ea&aqs=chrome..69i57.6104j0j1&sourceid=chrome&ie=UTF-8"));
startActivity(browserIntent);
}
});
i++;
}
if (max == c[1]) {
im[i].setImageDrawable(getResources().getDrawable(R.drawable.d2));

info[i].setVisibility(View.VISIBLE);
info[i].setMovementMethod(LinkMovementMethod.getInstance());
info[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW);

browserIntent.setData(Uri.parse("https://www.google.com/search?ei=xOeZXb3KCIX6z7sPzom
csAg&q=malaria&oq=malaria&gs_l=psy-
ab.3..0i67l6j0l4.40811.43654..45013...0.2..3.187.1852.0j12......0....1..gws-
wiz.....6..0i71j0i362i308i154i357j0i131.J8tK4aVih7Y&ved=0ahUKEwi9vOLF2oflAhUF_XMBHc4E
B4YQ4dUDCAs&uact=5"));
startActivity(browserIntent);
}
});

i++;
}
if (max == c[2]) {
im[i].setImageDrawable(getResources().getDrawable(R.drawable.d3));

info[i].setVisibility(View.VISIBLE);
info[i].setMovementMethod(LinkMovementMethod.getInstance());
info[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW);

browserIntent.setData(Uri.parse("https://www.google.com/search?ei=8ueZXf3XGcOzmge416S
oBw&q=typhoid&oq=typhoid&gs_l=psy-
ab.3..0i67l4j0j0i67l2j0l3.17165.19407..19806...0.2..3.188.1796.0j12......0....1..gws-
wiz.....6..0i71j0i362i308i154i357j0i131i67.gApJs810Cpo&ved=0ahUKEwj9mOvb2oflAhXDmeYKH
bgrCXUQ4dUDCAs&uact=5"));
startActivity(browserIntent);
}
});

i++;
}
if (max == c[3]) {
im[i].setImageDrawable(getResources().getDrawable(R.drawable.d4));

info[i].setVisibility(View.VISIBLE);
info[i].setMovementMethod(LinkMovementMethod.getInstance());
info[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW);

browserIntent.setData(Uri.parse("https://www.google.com/search?ei=B-
iZXbSsB9PUz7sPnM6iUA&q=diabetes&oq=diabetes&gs_l=psy-
ab.3..0i67l3j0j0i67j0l5.20518.23074..23777...0.2..3.199.1955.0j13......0....1..gws-
wiz.....6..0i71j0i362i308i154i357j0i131j0i10i67.xxtksmH4CzM&ved=0ahUKEwj0y9rl2oflAhVT
6nMBHRynCAoQ4dUDCAs&uact=5"));
startActivity(browserIntent);
29
}
});

i++;
}
if (max == c[4]) {
im[i].setImageDrawable(getResources().getDrawable(R.drawable.d5));
info[i].setVisibility(View.VISIBLE);
info[i].setMovementMethod(LinkMovementMethod.getInstance());
info[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW);

browserIntent.setData(Uri.parse("https://www.google.com/search?biw=1536&bih=754&ei=z-
iZXdi1GJOf9QPDubbICg&q=blood+pressure+precautions&oq=blood+pressure+precautions&gs_l=
psy-ab.3..0i67j0l2j0i22i30l7.4084.4084..4335...0.1..0.157.157.0j1....1..0....1..gws-
wiz.......0i71.XK6RSKLBd1o&ved=0ahUKEwiY2ZrF24flAhWTT30KHcOcDakQ4dUDCAs&uact=5"));
startActivity(browserIntent);
}
});

i++;
}
if (max == c[5]) {
im[i].setImageDrawable(getResources().getDrawable(R.drawable.d6));

info[i].setVisibility(View.VISIBLE);
info[i].setMovementMethod(LinkMovementMethod.getInstance());
info[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW);

browserIntent.setData(Uri.parse("https://www.google.com/search?ei=juiZXaKeF4ne9QPZm6v
oDQ&q=heart+disease&oq=heart+diseas&gs_l=psy-
ab.3.0.0l10.21631.27511..29715...3.1..0.187.2294.0j15......0....1..gws-
wiz.......0i71j0i67j0i273j0i131j0i10j0i131i273.F4U-kXSmLO8"));
startActivity(browserIntent);
}
});

i++;
}
}
}

30
INSTRUMENTED TEST:
package com.ndkapp.www.mediconsult;

import android.content.Context;

import androidx.test.InstrumentationRegistry;
import androidx.test.runner.AndroidJUnit4;

import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.*;

/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();

assertEquals("com.ndkapp.www.mediconsult", appContext.getPackageName());
}
}

31
TESTING;
Introduction
Software testing is the act of examining the artifacts and the behaviour of the software under
test by validation and verification. Software testing can also provide an objective, independent view of the
software to allow the business to appreciate and understand the risks of software implementation.

Types of Testing
Unit tests
Unit tests are very low level and close to the source of an application. They consist in testing individual
methods and functions of the classes, components, or modules used by your software. Unit tests are
generally quite cheap to automate and can run very quickly by a continuous integration server.

Integration tests

Integration tests verify that different modules or services used by your application work well together. For
example, it can be testing the interaction with the database or making sure that microservices work together
as expected. These types of tests are more expensive to run as they require multiple parts of the application
to be up and running.

Functional tests

Functional tests focus on the business requirements of an application. They only verify the output of an
action and do not check the intermediate states of the system when performing that action.

There is sometimes a confusion between integration tests and functional tests as they both require multiple
components to interact with each other. The difference is that an integration test may simply verify that you
can query the database while a functional test would expect to get a specific value from the database as
defined by the product requirements.

End-to-end tests

End-to-end testing replicates a user behavior with the software in a complete application environment. It
verifies that various user flows work as expected and32can be as simple as loading a web page or logging in
or much more complex scenarios verifying email notifications, online payments, etc...
Acceptance testing

Acceptance tests are formal tests that verify if a system satisfies business requirements. They require the
entire application to be running while testing and focus on replicating user behaviors. But they can also go
further and measure the performance of the system and reject changes if certain goals are not met.

Performance testing

Performance tests evaluate how a system performs under a particular workload. These tests help to measure
the reliability, speed, scalability, and responsiveness of an application. For instance, a performance test can
observe response times when executing a high number of requests, or determine how a system behaves
with a significant amount of data. It can determine if an application meets performance requirements, locate
bottlenecks, measure stability during peak traffic, and more.

Smoke Testing

Smoke tests are basic tests that check the basic functionality of an application. They are meant to be quick
to execute, and their goal is to give you the assurance that the major features of your system are working
as expected.

Types of Manual Testing

1. White Box Testing

White box testing involves testing the product's underlying structure, architecture, and code to validate
input-output flow and enhance design, usability, and security.

2. Black Box Testing

Black box testing involves testing against a system where the code and paths are invisible.

33
Test Report
Test Report is a document which contains a summary of all test activities and final test results of a testing
project. Test report is an assessment of how well the Testing is performed. Based on the test report,
stakeholders can evaluate the quality of the tested product and make a decision on the software release.

Test Cycle System Test


EXECUTED Passed 130
Failed 0
(Total) TESTS EXECUTED 130
(PASSED + FAILED)
PENDING 0
IN PROGRESS 0
BLOCKED 0
(Sub – Total) TEST PLANNED 130
(PENDING+IN PROGRESS+BLOCKED +TEST EXECUTED)

34
IMPLEMENTATION
Implementation
Implementation is the stage of the project when the theoretical design is turned out into a
working system. Thus, it can be considered to be the most critical stage in achieving a successful new
system and in giving the user, confidence that the new system will work and be effective. The
implementation stage involves careful planning, investigating of the existing system and its constraints on
implementation, designing of methods to achieve changeover and evaluation of changeover methods.

4.1 Installing Android Studio

Android Studio is an open source software. You can download and set up it from
the official website. After installing Android Studio, you have to setup the path
for SDK and download the desired API and desired emulator to test your
application.

4..2 Creating UI
You can design UI using XML in Android Studio. To create attractive UI, you can also
use Adobe XD.

4.3 Major Functionalities

This project includes main 3 functions:

• Symptoms Checker
• Nearby Hospitals
• SOS Call

35
FUTURE ENHANCEMENT:
Limitations

Following are the currently persisting limitations in the application:

❑ Does not Cover up all the Diseases, as it will need ML as well as large Database.
❑ We have just prepared a Prototype.

Future Enhancements

Following are some aspirations specifying our future enhancements:

❑ To Obtain Information and contact details of Doctor concerned to your Disease.


❑ To Cover Up All the Diseases.
❑ To Suggest / Advice few basic Medicines for a Disease.

36
CONCLUSION AND DISCUSSION

Self-Analysis of Project Viabilities

The project was a good experience for me. I think that from this project I learnt a lot
about how an official application works.

Problem Encountered

▪ Learn a Different Application Like Android Studio from Scratch.


▪ Changing Dependencies Of Android Studio caused Immense Difficulty.
▪ Updating Gradle File and Version of Android Studio.
▪ Asking Permission for Calling while Implementing SOS Module.
▪ While implementing Google maps API for nearby Hospitals.

Summary of Project Work

The importance of time bound and execution of work was realized. It gave me an
experience to develop application like big official applications.

The application is a user friendly and can be run by any person with the help of
android phone. The preparation of this project has helped a lot to learn the much
unknown features of Android studio and User Interface.

37
BIBILOGRAPHY:
References:

• https://developer.android.com
• https://www.youtube.com/watch?v=UDwj5j4tBYg
• https://www.youtube.com/watch?v=fGcMLu1GJEc
• https://www.youtube.com/watch?v=nxSdkiFcQxs
• https://www.zoftino.com/current-location-and-nearby-places-android-
example
• https://www.androidtutorialpoint.com/intermediate/google-maps-search-
nearby-displaying-nearby-places-using-google-places-api-google-maps-api-v2/

38

You might also like