Professional Documents
Culture Documents
CHAPTER-I
FEASIBILITY
SCOPE
FEATURES
SOFTWARE REQUIRED
HARDWARE REQUIRED
TOOL DESCRIPTION
ER + DFD’s
CHAPTER-II(Coding)
CONCLUSION
BIBLIOGRAPHY
1
INTRODUCTION
It’s a choice that implicates people on the receiving end. Experts generally agree
that delivery and curbside pickup are safer for patients than going into a pharmacy
or store. Most delivery workers would also prefer that people keep ordering. It’s
essential for these workers to be able to survive. Our industry is definitely worried
about people’s safety, including their own, but they’re also worried about survival
and feeding their kids. Many people especially senior citizens, lactating mother and
PWD’s who couldn’t leave their homes relied on these services to get access to buy
medicines. The advent of dedicated delivery research companies that significant
advances in drug delivery technology were made. The recognition that specific
research had to be undertaken in order to overcome the problems of conventional
drug delivery led to the evolution of modern-day pharmaceutical science and
technology. A drug delivery system could deliver the correct amount of drug to the
site of action at the correct rate and timing, in order to maximize the desired
2
therapeutic response. Specialized drug delivery systems constitute a relatively
recent addition to the field of pharmaceutical technology.
Motivation
The motivation for designing this app came because my family is involved in the
medical business and I personally do not like waiting for long in the store or to
have to call store to place an order especially during the peak any events and
function every time. Moreover, I value recent learning about the Java Programming
languages as well as seeing how powerful and dynamic they are when it comes to
website designing and apps. The language used to build this website is HTMLand
CSS as client facing Where as mysql and java at the back-end because I found them
to be extremely useful while working on the technologies.
FEASIBILITY ANALYSIS
Whatever we think need not be feasible. It is wise to think about the feasibilities of
any problem we undertake. Feasibilities is the study of impact, which happen in the
organization by the development of the system. The impact can be either positive
or negative. When the positive nominate the negative, then the system is considered
feasible. Here the feasibility study can be perform to ways such as technical
feasibility and economic feasibility.
TECHNICAL FEASIBILITY
We can strongly say that it is technically feasible, since there will not be much
difficulty in getting required the resources for the development and maintaining the
system as well. All the resources for the development of the software as well as
maintenance of the same is available in the organization hare we are utilizing the
resources which are available already.
3
ECONOMICAL FEASIBILITY
Spend much money f Development of this application is highly online food
ordering feasible. The organization needed not or the development of the system
already available. The only think is to be done is making an environment for the
development with an effective supervision. If we are doing so, we can attain the
maximum usability of the corresponding resources. Even after the development, the
organization will not be in condition to invest more in the online food ordering .
Therefore, the system is economically feasible.
General Objectives
To develop Pharmaceutical delivery system using web applications which will help
the company manage their medicine delivery ordering system.
Specific Objectives
Principles associated with customer service and have knowledge regarding the
medicine and pharmacies. Maintain records and billing statements regarding the
product based on cash on hand of every rider and inspect supplies and carry out a
number of other tasks. Customer inquiries can give a lot of valuable insight to
ensure
4
Customer satisfaction manipulation of orders to the customers be so easy and
quick by just clicking on the menu and choosing the desired item. Management
reports aim at informing managers of different aspects of the timely, clear,
relevant, and easily-accessed and has the capability of running automated reports.
The Medicine delivery system is password protected and controlled only by the
administrator. The system is available based on the needs of user, can work
properly, and do transactions efficiently including safe data management of the
delivery system. The system will cater two towns and one city in Negros namely;
Hinigaran, Binalbagan and Himamaylan City.
Each town or city there will be number of riders assigned. The delivery fee may
vary to certain barangays of every town or city. There are restricted areas that are
not system supported. The company provides daily budget for the riders and at the
end of the day the riders will remit the exact amount of all transactions that was
made in a day aside from the maintaining budget of the rider in hand for the next
day. The admin will be the one to dispatch rider and will manually approved the
online registration of the customer through call to prevent these scams or cancels
orders that might be a waste of the riders’ time and effort, it also hurts financially.
Bogus buyer account will be banned in the system the next time they will order
again. The company has an agreement with the pharmacies if the rider is directed to
a bogus buyer or location to deliver the medicine and the buyer never shows up the
items will be returned to the pharmacy. This system is strictly no cancellation of
orders. The rider will pay for the product, and meet up with him or her at a
specified location stated in their account. Rider will be responsible for the day to
day delivery of jobs assigned to him. The system doesn’t require a necessary
5
authorization forms from the patients on the prescription. This allows the pharmacy
to help get the process started, potentially shortening the wait time for the patients
to place an order via online. Online sending of prescription, the patients will upload
an image of prescription and identification card attached for verification. The
senior citizens in the Philippines can enjoy discounts and freebies for any medicine
purchased however, Senior Citizen’s booklet is not important. The system support
online transaction and as a means of security, the service allows for cash on
delivery (COD) to cater to customers without a credit card or electronic payment
system it does not support scanner tracking of products for their prices and foreign
currency. Riders in in all weathers and adverse road conditions, always in a hurry
to fulfill the assignment on time both sectors are at risk of being involved in road
traffic accidents, and are exposed to pollution. Salary paid of riders is based on
70% that will be get from delivery fee for the total transaction in every 15th and
30th of the month and 30% for the company.
Medicine delivery management has its own significance to the company. Using this
system help to records all transaction made at the daily sales, it helps to recognize
all customers, employees etc. It manage all activities around the delivery that
increases productivity and minimize the risk of getting loss because all transaction
recorded to the system and viewed id needed and the whole reports of the business
will be shown at any time needed to be done.
6
workers out in the field as a job can be dispatched to multiple users to accept or
reject the job.
Patients
This study will help the customer save time in spending extra time in service
interaction in the pharmacy. This translates into cost and time-saving for the
practice and improved care delivery.
Employee/ Rider
This study will help the employee trace customer and speeding process of orders
and delivery.
Researcher
The developed system will enhance and deepen our knowledge in programming
and system development. This will improve our skills in analyzing and solving
problems which may we apply in the real world.
Future Researcher
The developed systems will benefit the future researcher by making this as their
future reference in conducting similar studies.
Definition of Terms
For the clarification of the common understanding, the key word that has been used
in this study will be defined as follows:
7
System is a set of things working together as parts of a mechanism or an
interconnecting network. Operationally, is representing for monitoring of stock
inventory and cashiering of sales in online medicine delivery System.
SMS Notification are text messages that are sent when an event occurs. An event,
in this case, can refer to something as exciting as an app update to something as
urgent as a whether alert. SMS stand for “Short Message Service.” SMS
Notification are sent the same way as any other text message. Operationally,
Admin will notify the customer via SMS that the medicine is ready to deliver
8
FEATURES
• Accuracy in work
• Well-designed reports
9
ANALYSIS
The medicine ordering system administrator is the super user and has complete
control over all the activities that can be performed.
The Application notifies the administrator of all medicine creation requests and
then administrator can approve or reject them. The administrator also manages the
list of available recipes categories. The administrator can also view and delete
entries in the guestbook.
SOFTWARE REQUIREMENTS
Android App is Applicable for Android Version 5 and Above IDE – Dream viewer
10
HARDWARE REQUIREMENTS
RAM – Min 4 GB
Hard disk – 20 GB
SCOPE
TOOL DESCRIPTION
Firebase Realtime
Database Store and sync data with our NoSQL cloud database. Data is synced
across all clients in realtime, and remains available when your app goes offline.
The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSON
and synchronized in realtime to every connected client. When you build
crossplatform apps with our iOS, Android, and JavaScript SDKs, all of your clients
share one Realtime Database instance and automatically receive updates with the
newest data. The Firebase Realtime Database lets you build rich, collaborative
applications by allowing secure access to the database directly from client-side
code. Data is persisted locally, and even while offline, realtime events continue to
11
fire, giving the end user a responsive experience. When the device regains
connection, the Realtime Database synchronizes the local data changes with the
remote updates that occurred while the client was offline, merging any conflicts
automatically. The Realtime Database provides a flexible, expression-based rules
language, called Firebase Realtime Database Security Rules, to define how your
data should be structured and when data can be read from or written to. When
integrated with Firebase Authentication, developers can define who has access to
what data, and how they can access it.
Overview of FrontEnd
1. It must have a graphical user interface that assists employees that are not from IT
background.
3. Flexibility.
4. Robustness.
7. Platform independent.
12
10. Front end must support some popular backend like MySQL.
According to the above stated features we selected PHP and CSS as the front-end
for developing.
About Java:
Java is a general-purpose, class-based, object oriented programming language
designed for having lesser implementation dependencies. It is a computing platform
for application development. Java is fast, secure, and reliable, therefore. It is widely
used for developing Java applications in laptops, data centers, game consoles,
scientific supercomputers, cell phones etc.
Used for Server-Side Technologies like Apache, J Boss, Glass Fish, etc.
5. Stored procedures.
13
6. Popularity.
8. Easy to install.
About SQL:
SQL is Structured Query Language, which is a computer language for storing,
manipulating and retrieving data stored in a relational database. SQL is the standard
language for Relational Database System. All the Relational Database Management
Systems (RDMS) like MySQL, MS Access, Oracle, Sybase, Informix, Postgres and
SQL Server use SQL as their standard database language. MySQL is a fast, easy-
touse RDBMS being used for many small and big businesses. MySQL is
developed, marketed and supported by MySQL AB, which is a Swemedicine
company. MySQL is becoming so popular because of many good reasons.
[1] MySQL is released under an open-source license. So you have nothing to pay
to use it.
[2] MySQL is a very powerful program in its own right. It handles a large subset
of the functionality of the most expensive and powerful database packages.
14
[3] MySQL uses a standard form of the well-known SQL data language. MySQL
works on many operating systems and with many languages including PHP, PERL,
C, C++, JAVA, etc.
[4] MySQL works very quickly and works well even with large data sets. MySQL
is very friendly to PHP, the most appreciated language for web development.
[5] MySQL supports large databases, up to 50 million rows or more in a table. The
default file size limit for a table is 4GB, but you can increase this (if your operating
system can handle it)to a theoretical limit of 8millionterabytes (TB). Also, they are
using different dialets such as− Oracle usingPL/SQL.
Allow users to define the data in a database and manipulate that data.
Allow to embed within other languages using SQL modules, libraries &pre
compilers.
[6] Android Studio is the official Integrated development environment (IDE) for
Google's Android operating system, built on JetBrain’s Intelli J IDEA software
and designed specifically for Android development.
15
[7] It is available for download on Windows, Mac OS and Linux based operating
systems or as a subscription-based service in 2020.
[8] It is a replacement for the Eclipse Android Development Tools (E ADT) as the
primary IDE for native Android application development. Android Studio was
announced on May 16, 2013 at the Google I/O conference.
[9] It was in early access preview stage starting from version 0.1 in May 2013,
then entered beta stage starting from version 0.8 which was released in June 2014.
[10] The first stable build was released in December 2014, starting from version
1.0.
[11] On May 7, 2019, Kotlin replaced Java as Google's preferred language for
Android app development.
[12] Java is still supported, as is C++. Features A specific feature of the Android
Studio is an absence of the possibility to switch auto save feature off.
[13] The following features are provided in the current stable version:
16
Gradle-based build support
Built-in support for Google Cloud Platform, enabling integration with Firebase
Cloud
Android Virtual Device (Emulator) to run and debug apps in the Android studio.
Android Studio supports all the same programming languages of IntelliJ (and
CLion) e.g. Java, C++, and more with extensions, such as Go and Android Studio
3.0 or later supports Kotlin and "all Java 7 language features and a subset of Java
8 language features that vary by platform version. External projects back port
some Java 9 features. While IntelliJ states that Android Studio supports all
released Java versions, and Java 12, it's not clear to what level Android Studio
17
ER-DIAGRAM
• Provide a preview of how the tables should connect, what fields are going to be
on each table.
18
19
“Data Flow Diagram”
The logical data flow diagram describes flow of data through a system to perform
certain functionality of a business.
The physical data flow diagram describes the implementation of the logical data
flow.
“WHY DFD”?
The visual representation makes it a good communication tool between User and
System designer. Structure of DFD allows starting from a broad overview and
expand it to a hierarchy of detailed diagrams.
The Data flow diagram (DFD) contains some symbol for drawing the data flow
diagram.
20
”Context level DFD – 0 level”
The context level data flow diagram (dfd) describes the whole system. The (0) level
dfd describes that all user module who operate the system.
Below data flow diagram of an android application shows the two users can operate
the system, one as Admin and the other as Member user.
21
“DFD – 1 st level”
ADMIN
22
”DFD – 2nd level”
ADMIN
23
“DFD- 1st LEVEL”
BUYER
24
“DFD-1ST LEVEL”
SELLER
25
“DFD-2nd LEVEL”
BUYER
26
“DFD-2nd LEVEL”
SELLER
27
Coding Parts Contains:
In the coding part of Online Medicine Service. We have many formats of files
and codes for Android App like:
Manifest Files
Layout Files
Apk Files
Logs Files
FireBase Files
Assembles Files
28
CODING
Home Page:
package com.medicine_on.app;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.food_on.app.R;
import com.google.firebase.auth.FirebaseAuth;
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;
29
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageVieww=(ImageView)findViewById(R.id.imageView);
textView=(TextView)findViewById(R.id.textView7);
imageVieww.animate().alpha(0f).setDuration(0);
textView.animate().alpha(0f).setDuration(0);
imageVieww.animate().alpha(1f).setDuration(1000).setListener(new
AnimatorListenerAdapter()
{
@Override
@Override
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
Update Code:
package com.food_on.app.PharmacistFoodPanel;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import com.food_on.app.R;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
31
import com.google.firebase.database.ValueEventListener ;
import java.6util.ArrayList;
import java.util.List;
RecyclerView recyclerViewmedicine;
DatabaseReference reference;
String RandomUID;
@Override
super.onCreate(savedInstanceState); 6
setContentView(R.layout.activity_pharmacist_order_medicinees);
recyclerViewmedicine = findViewById(R.id.Recycle_orders_medicine);
recyclerViewmedicine.setHasFixedSize(true);
recyclerViewmedicine.setLayoutManager
(new LinearLayoutManager(this));
Pharmacistordermedicinees(); }
RandomUID = getIntent().getStringExtra("RandomUID");
reference = FirebaseDatabase.getInstance().getReference("PharmacistPending
Orders").child(FirebaseAuth.getInstance().getCurrentUser().
32
getUid()).child(RandomUID).child("Medicinees");
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
pharmacistPendingOrdersList.clear();
{ pharmacistPendingOrders pharmacistPendingOrders =
snapshot.getValue(PharmacistPendingOrders.class);
pharmacistPendingOrdersList.add(pharmacistPendingOrders); }
adapter = new
PharmacistOrderMedicineesAdapter(Pharmacist_order_medicinees.this,
pharmacistPendingOrdersList); recyclerViewmedicine.setAdapter(adapter); }
@Override
});
Verify phone:
package com.food_on.app;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
33
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.food_on.app.R;
import com.food_on.app.ReusableCode.ReusableCodeForAll;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.TaskExecutors;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.PhoneAuthCredential;
Resend.setVisibility(View.INVISIBLE); txt.setVisibility(View.INVISIBLE);
verify.setOnClickListener(new View.OnClickListener() {
@Override
34
if (code.isEmpty() && code.length() < 6) {
entercode.setError("Enter code");
entercode.requestFocus(); return; }
verifyCode(code);
});
@Override
@Override
} }.start();
Resend.setOnClickListener(new View.OnClickListener() {
@Override
Resend.setVisibility(View.INVISIBLE); Resendotp(phonenumber);
@Override
@Override
35
public void onFinish() { Resend.setVisibility(View.VISIBLE);
txt.setVisibility(View.INVISIBLE);
} }.start();
});
{ PhoneAuthCredential credential =
PhoneAuthProvider.getCredential(verificationId, code); linkCredential(credential);
@Override
if (task.isSuccessful()
else {
ReusableCodeForAll.ShowAlert(Delivery_VerifyPhone.this, "Error",
task.getException().getMessage());
}}
36
});
private
@Override
@Override
}}
@Override
} };
37
Payment coding:
package com.food_on.app.CustomermedicinePanel;
private String
pharmacistId,medicineId,medicineName,medicinePrice,medicineQuantity,Random
UID,TotalP rice,UserId; public CustomerPaymentOrders(String pharmacistId,
String medicineId, String medicineName, String medicinePrice, String
medicineQuantity, String randomUID, String totalPrice, String userId) {
PharmacistId = pharmacistId;
MedicineId = medicineId;
MedicineName = medicineName;
MedicinePrice = medicinePrice;
MedicineQuantity = medicineQuantity;
RandomUID = randomUID;
public CustomerPaymentOrders() { }
{ return PharmacistId; }
38
public void setMedicineName(String medicineName) { MedicineName =
medicineName; }
Pharmist:
package com.food_on.app;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
39
import com.food_on.app.R;
import com.google.firebase.auth.FirebaseAuth;
CountryCodePicker cpp;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_phone);
num=(EditText)findViewById(R.id.number);
sendotp=(Button)findViewById(R.id.otp);
cpp=(CountryCodePicker)findViewById(R.id.CountryCode);
signinemail=(Button)findViewById(R.id.btnEmail);
txtsignup=(TextView)findViewById(R.id.acsignup);
FAuth=FirebaseAuth.getInstance(); sendotp.setOnClickListener(new
View.OnClickListener() {
@Override
numberr=num.getText().toString().trim();
40
Intent b=new Intent(LoginPhone.this,sendotp.class);
b.putExtra("phonenumber",phonenumber);
startActivity(b);
finish();
);
txtsignup.setOnClickListener(new View.OnClickListener() {
@Override
Intent(LoginPhone.this,Registeration.class);
startActivity(a); finish();
});
signinemail.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(em); finish();
});
41
Customer code:
package com.food_on.app;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
Button sendotp,signinemail;
CountryCodePicker cpp;
FirebaseAuth FAuth;
String numberr;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log6in_phone);
num=(EditText)findViewById(R.id.number);
sendotp=(Button)findViewById(R.id.otp);
42
cpp=(CountryCodePicker)findViewById(R.id.CountryCode);
signinemail=(Button)findViewById(R.id.btnEmail);
txtsignup=(TextView)findViewById(R.id.acsignup);
FAuth=FirebaseAuth.getInstance(); sen66dotp.setOnClickListener(new
View.OnClickListener() {
@Override
b.putExtra("phonenumber",phonenumber); startActivity(b);
finish();
});
txtsignup.setOnClickListener(new View.OnClickListener() {
@Override
startActivity(a);
finish(); }
});
signinemail.setOnClickListener(new View.OnClickListener() {
@Override
43
Intent em=new Intent(LoginPhone.this, Login.class); startActivity(em); finish(); }
});
66Post Medicine:
6androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=http://schemas.android.com/apk/res/android
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_height="match_parent"
tools:context="com.food_on.app.ChefFoodPanel.Chef_PostDish"
android:background="@drawable/pic14"
>
<Linear layout
android:id="@+id/linearLayout" android:layout_width="280dp"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_marginTop="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
44
app:layout_constraintHorizontal_bias="0.496"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.312"
>
<Text view
android:id="@+id/textView" android:layout_width="wrap_content"
android:layout_height="30dp"
android:textColor="@color/white"
android:textSize="18sp" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.191"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.37" />
<Spinner
android:id="@+id/dishes" android:layout_width="162dp"
android:layout_height="30dp"
android:layout_marginLeft="12dp" android:entries="@array/DishName"
android:background="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
45
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintVertical_bias="0.04" />
46
Conclusion
While developing the system a conscious effort has been made to create and
resources -- that would generate a proper system for cases. While making the
system , an eye has been kept in making it as user- friendly. As such one may
hope
that the system will be acceptable to any user will adequately meet his/her
needs.
comings, there have been some shortcomings in the development of this system
also.
47
Bibliography
This is reference page containing all the useful references used in the Online
Medicine Service ("MediCare").
XML
Deployment Descriptor
1)BootStrap-4 –>
href=https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0 /css/bootstrap.min.css
https://cdnjs.cloudflare.com/ajax/libs/fontawesome/4.7.0/css/font-awesome.min.css
3)css-link ->
umd/popper.min.js
HTML5
CSS
JAVASCRIPT
48
AJAX
JQUERY
FOR ICONS –
7) for database-
www.wapmserver.com for
Glassfish server 4
developementenvironment(IDE)
49