Abstract
With the advancements in science, there are a multitude of medicines available in the world. For every new disease that arises, there is a new medicine created. However a layman cannot understand the medical jargon and often ends up taking the wrong medication. Adding to this problem, there is a confusion among the general public regarding a generic medicine and a branded one.
Also there is ambiguity on drug status in India and in other countries. Certain drugs available abroad might be banned in India. Further, there is a huge difference in prices among drugs from various brands.
Our project aims to provide a drug information service to help users better understand how medicines work, thereby helps improve consumer safety by assisting in the reduction of medication errors.
Chapter 1
Introduction
Our web application provides information about the drugs currently available in India along with price range depending on the various brands. It provides extensive information about a drug along with its generic drug. All the related information such as side-effects, dosage and major drug interactions are also provided. It makes the user aware of the drug that he is prescribed.
1.1 Scope
This application can be further improved by maintaining the user profiles for providing recent updates for the drugs they use, if any of the drugs in use are banned in India. Also user location could be accessed to give information of the nearest pharmacies supplying the drug.
1.2 Existing System
There are very few websites which provide detailed information of the drugs available in India. The medicines are known by their brand names and not by the generic drug they contain. There is ambiguity regarding the drug interactions and also the dosages to be taken.
1.3 Proposed System
The proposed system consists of a drug information service to help users better understand, how medicines work. Here the users can search the uses, side effects and potential to to interact with other medicines. The price and also the location of the pharmacy where drug is available can also be viewed.
Chapter 2
Literature Survey
2.1 About Java
Initially the language was called as “oak” but it was renamed as “Java” in 1995. The primary motivation of this language was the need for a platform-independent (i.e., architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices.
Java is a programmer’s language.
Java is cohesive and consistent.
Except for those constraints imposed by the Internet environment, Java gives the programmer, full control.
2.1.1 IMPORTANCE OFJAVA
Java has had a profound effect on the Internet. This is because; Java expands the Universe of objects that can move about freely in Cyberspace. In a network, two categories of objects are transmitted between the Server and the Personal computer. They are: Passive information and Dynamic active programs. The Dynamic, Self-executing programs cause serious problems in the areas of Security and probability. But, Java addresses those concerns and by doing so, has opened the door to an exciting new form of program called the Applet.
JAVA CAN BE USED TO CREATE TWO TYPES OF PROGRAMS
An application is a program that runs on our Computer under the operating system of that computer. It is more or less like one creating using C or C++. Java’s ability to create Applets makes it important. An Applet is an application designed to be transmitted over the Internet and executed by a Java –compatible web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like an image. But the difference is, it is an intelligent program, not just a media file. It can react to the user input and dynamically change.
2.1.3 FEATURESOFJAVA
SECURITY
Each time you that you download a “typical” program, you are gambling a viral contamination. Preceding Java, most clients did not download executable projects much of the time, and the individuals who did checked them for infections before execution. Most clients still stressed over the likelihood of tainting their frameworks with an infection. Likewise, another sort of vindictive program exists that must be made preparations for. This kind of program can assemble private data, for example, Mastercard numbers, ledger adjusts, and passwords. Java answers both these worries by giving a “firewall” between a system application and your PC.
PORTABILITY
For projects to be powerfully downloaded to all the different sorts of stages associated with the Internet, a few methods for producing compact executable code is required .As you will see, a similar component that guarantees security additionally makes transportability. In reality, Java’s answer for these two issues is both exquisite and effective.
THE BYTE CODE
The key that enables the Java to take care of the security and versatility issues is that the yield of Java compiler is Byte code. Byte code is a very improved arrangement of guidelines intended to be executed by the Java run-time framework, which is known as the Java Virtual Machine (JVM). That is, in its standard frame, the JVM is a translator for byte code.
In the nick of time (JIT) compiler for byte code. At the point when the JIT compiler is a piece of JVM, it accumulates byte code into executable code continuously, on a piece-by-piece, request premise. It is unrealistic to order a whole Java program into executable code at the same time, since Java performs different run-time watches that should be possible just at run time. The JIT incorporates code, as it is required, amid execution.
JAVA VIRTUAL MACHINE (JVM)
Past the language, there is the Java virtual machine. The Java virtual machine is a critical component of the Java innovation. The virtual machine can be implanted inside a web program or a working framework. Once a bit of Java code is stacked onto a machine, it is confirmed. As a feature of the stacking procedure, a class loader is conjured and does byte code check ensures that the code that is has been created by the compiler won’t degenerate the machine that it’s stacked on. Byte code check happens toward the finish of the aggregation procedure to ensure that is all exact and right. So byte code check is indispensable to the arranging and executing of Java code.
2.1.4 COMPILATION OF CODE
When you incorporate the code, the Java compiler makes machine code (called byte code) for a speculative machine called Java Virtual Machine (JVM). The JVM should execute the byte code. The JVM is made for beating the issue of movability. The code is composed and arranged for one machine and deciphered on all machines. This machine is called Java Virtual Machine.
• SIMPLE
Java was intended to be simple for the Professional software engineer to learn and to utilize adequately. On the off chance that you are an accomplished C++ software engineer, learning Java will be considerably less demanding. Since Java acquires the C/C++ grammar and a considerable lot of the object oriented components of C++. A large portion of the confounding ideas from C++ are either let well enough alone for Java or executed in a cleaner, more agreeable way. In Java there are few plainly characterized approaches to fulfill a given undertaking.
• OBJECT ORIENTED
Java was not intended to be source-code good with some other language. This permitted the Java group the flexibility to plan with a clear slate. One result of this was a clean usable, down to business way to deal with objects. The object demonstrate in Java is simple and simple to develop, while simple sorts, for example, numbers, are kept as superior non-objects.
• ROBUST
The multi-stage condition of the Web places uncommon requests on a program, in light of the fact that the program must execute dependably in an assortment of frameworks. The capacity to make robust projects was given a high need in the outline of Java. Java is entirely written language; it checks your code at aggregate time and run time.
Java basically takes out the issues of memory administration and deallocation, which is totally programmed. In an elegantly composed Java program, all run time blunders can –and ought to –be overseen by your program.
2.2 SERVLETS
2.2.1 INTRODUCTION
The Java web server is JavaSoft’s own web Server. The Java web server is only a piece of a bigger structure, expected to furnish you with a web server, as well as with apparatuses. To fabricate tweaked arrange servers for any Internet or Intranet customer/server framework. Servlets are to a web server, how applets are to the program.
2.2.2 ABOUT SERVLETS
Servlets give a Java-based arrangement used to address the issues as of now connected with doing server-side programming, including inextensible scripting arrangements, stage particular APIs, and inadequate interfaces.
Servlets are objects that adjust to a particular interface that can be connected to a Java-based server. Servlets are to the server-side what applets are to the customer side – object byte codes that can be powerfully stacked off the net. They vary from applets in that they are faceless objects (without illustrations or a GUI segment). They fill in as stage autonomous, powerfully loadable, plugable partner byte code objects on the server side that can be utilized to progressively develop server-side usefulness.
For instance, a HTTP Servlets can be utilized to create dynamic HTML content. When you utilize Servlets to do dynamic substance you get the accompanying favorable circumstances:
- They’re quicker and cleaner than CGI scripts
- They utilize a standard API (the Servlets API)
- They give every one of the benefits of Java (keep running on an assortment of servers without waiting be revamped).
2.2.3 FEATURES OF SERVLETS
There are many elements of servlets that make them simple and alluring to utilize. These include:
- Easily arranged utilizing the GUI-based Admin device
- Can be stacked and conjured from a neighborhood circle or remotely over the system.
- Can be connected together, or tied, so that one servlets can call another servlets, or a few servlets in succession.
- Can be called powerfully from inside HTML pages, utilizing server-side incorporate labels.
- Are secure – notwithstanding when downloading over the system, the servlets security demonstrate and servlets sandbox shield your framework from disagreeable conduct.
2.2.4 ADVANTAGES OF SERVLET API
One of the considerable focal points of the Servlet API is convention freedom. It expect nothing about:
- The convention being utilized to transmit on the net
- How it is stacked
- The server condition it will keep running in
These qualities are vital, in light of the fact that it permits the Servlet API to be installed in a wide range of sorts of servers. There are different points of interest to the Servlet API too. These include:
- It’s extensible – you can acquire all your usefulness from the base classes made accessible to you.
- It’s simple, little, and simple to utilize.
2.2.5 LOADING SERVLETS
Servlets can be stacked from three spots:
From a catalog that is on the CLASSPATH. The CLASSPATH of the JavaWebServer incorporates benefit root/classes/which is the place the framework classes live. From the <SERVICE_ROOT/Servlets/registry. This is not in the server’s classpath. A class loader is utilized to make Servlets from this catalog. New Servlets can be included – existing Servlets can be recompiled and the server will see these progressions.
LOADING REMOTE SERVLETS
Remote Servlets can be stacked by:
1. Designing the Admin Tool to setup programmed stacking of remote Servlets
2. Setting up server side incorporate labels in .shtml records
3. Characterizing a channel chain setup
INVOKING SERVLETS
A Servlet invoker is a Servlet that conjures the “benefit” strategy on a named Servlet. In the event that the Servlet is not stacked in the server, then the invoker first loads the Servlet (either from neighborhood plate or from the system) and the then conjures the “benefit” strategy. Likewise like applets, nearby Servlets in the server can be distinguished by recently the class name. As it were, if a Servlet name is not total, it is dealt with as nearby.
A customer can summon Servlets in the accompanying ways:
- The customer can request a record that is served by the Servlet.
- The customer (program) can summon the Servlet specifically utilizing a URL, once it has been mapped utilizing the Servlet Aliases segment of the administrator GUI.
- The Servlet can be summoned through server side incorporate labels.
- The Servlet can be summoned by putting it in the Servlets/index.
- The Servlet can be summoned by utilizing it in a channel chain.
Chapter 3
System Analysis And Feasibility Study
3.1 Analysis
This System Analysis is firmly identified with necessities investigation. It is likewise “an express formal request done to help somebody recognize a superior strategy and settle on a superior choice than he/she may some way or another have made. This progression includes separating the framework in various pieces to examine the circumstance, investigating venture objectives, separating what should be made and endeavoring to connect with clients so that clear necessities can be characterized.
Execution is measured as far as the output given by the application. Prerequisite particular has a vital influence in the investigation of a framework. It rests to a great extent with the clients of the current framework to give the necessity specifications since they are the general population who at long last utilize the framework. This is on account of the necessities must be known amid the underlying stages so that the framework can be designed by those prerequisites. It is extremely hard to change the framework once it has been designed and then again designing a framework, which does not oblige the necessities of the client, is of no utilization.
The prerequisite detail for any framework can be extensively expressed as given beneath:
• The framework ought to have the capacity to interface with the current framework
• The framework ought to be precise
• The framework ought to be superior to the current framework
• The existing framework is totally subject to the client to play out every one of the obligations.
3.2 FEASIBILITY STUDY
The attainability of the venture is dissected in this stage and business proposition is advanced with an extremely broad arrangement for the venture and some cost gauges. Amid framework examination the achievability investigation of the proposed framework is to be done. This is to guarantee that the proposed framework is not a weight to the organization. For practicality examination, some comprehension of the real necessities for the framework is fundamental.
3.2.1 ECONOMICAL FEASIBILITY
This review is completed to check the financial effect that the framework will have on the association. The measure of store that the organization can fill the innovative work of the framework is restricted. The consumptions must be supported. Subsequently the created framework also inside the financial plan and this was accomplished on the grounds that the majority of the advances utilized are unreservedly accessible. Just the altered items must be acquired.
3.2.2 TECHNICAL FEASIBILITY
This survey is done to check the specific believability, that is, the particular necessities of the structure. Any structure made must not have a prominence on the available specific resources. This will incite levels of prominence on the open specific resources. This will incite levels of prevalence being determined to the client. The made system must have an unassuming need, as simply unimportant or invalid changes are required for realizing this structure.
3.2.3 SOCIAL FEASIBILITY
The piece of study is to check the level of affirmation of the system by the customer. This joins the path toward setting up the customer to use the system profitably. The customer must not feel crippled by the structure, rather ought to recognize it as a need. The level of affirmation by the customers only depends on upon the methodologies that are used to train the customer about the system and to make him familiar with it. His level of conviction must be raised with the objective that he is furthermore prepared to make some profitable criticism, which is welcomed, as he is the last customer of the structure.
Chapter 4
System Requirements Specifications
Programming Requirements Specification assumes an imperative part in making quality programming arrangements. Particular is essentially a portrayal procedure. Necessities are spoken to in a way that eventually prompts fruitful programming execution.
Prerequisites might be determined in an assortment of ways. Be that as it may, there are a few rules worth after:
• Representation configuration and content ought to be applicable to the issue
• Information contained inside the determination ought to be settled
• Diagrams and other notational structures ought to be limited in number and consistent being used.
• Representations ought to be revisable.
The product necessities determination is created at the summit of the examination undertaking. The capacity and execution allotted to the product as a piece of framework engineering are refined by setting up an entire data depiction, a point by point useful and behavioral portrayal, and sign of execution prerequisites and plan limitations, fitting approval criteria and other information correlated to necessities.
A Software Requirements Specification (SRS) – a necessities determination for a product framework is an entire depiction of the conduct of a framework to be created. It incorporates an arrangement of utilization cases that depict every one of the cooperations the clients will have with the product. Notwithstanding use cases, the SRS likewise contains non-practical prerequisites. Non-useful necessities are prerequisites which force limitations on the outline or usage, (for example, operational efficiency necessities, quality measures, or plan imperatives).
Framework prerequisites detail: An organized accumulation of data that typifies the necessities of a framework. A business examiner, once in a while titled framework expert, is in charge of breaking down the business needs of their customers and partners to help distinguish business issues and propose arrangements. Inside the frameworks advancement lifecycle space, the BA commonly plays out a contact work between the business side of a venture and the data innovation division or outer specialist co-ops. Activities are liable to three sorts of necessities:
• Business necessities depict in business terms what must be conveyed or achieved to offer some benefit.
• Product prerequisites depict properties of a framework or item (which could be one of a few approaches to fulfill an arrangement of business necessities.)
• Process necessities portray exercises performed by the creating association. For example, handle necessities could indicate.
Preparatory examination looks at venture plausibility; the probability the framework will be helpful to the association. The primary objective of the practicality study is to test the Technical, Operational and Economical possibility for including new modules and investigating old running framework. All framework is achievable in the event that they are boundless assets and unending time. There are perspectives in the possibility think about part of the preparatory examination.
4.1 Hardware Configuration(For Development)
- Processor : 4th Generation Intel Core i3 and above, 2.2 GHz
- Hard Disk : 500 GB
- Monitor : Generic PnP Monitor
- RAM : 4 GB
- Other peripherals as required
4.2 Software Configuration(For Development)
- Operating System : Windows 7 and above.
- Technology : Java/J2EE(Servlet, JSP, JDBC).
- Web Technologies : Html, JavaScript, CSS, PHP, AngularJS.
- Web Server : Tomcat 8.0.
- Database : Oracle 10g Express Edition.
- Software : JDK 1.6
- Environment : Eclipse IDE.
Chapter 5
System Design
5.1 INPUT DESIGN
The input design is the connection between the data framework and the client. It contains the creating determination and methods for information readiness and those means are important to put exchange information into a usable shape for handling can be accomplished by examining the PC to peruse information from a composed or printed archive or it can happen by having individuals entering the information straightforwardly into the framework. The design of input concentrates on controlling the measure of input required, controlling the mistakes, staying away from postponement, maintaining a strategic distance from additional means and keeping the procedure simple. The input is designed in such a route in this way, to the point that it gives security and usability with holding the protection.
Input Design considered the accompanying things:
• What information ought to be given as input?
• How the information ought to be organized or coded?
• The exchange to direct the working staff in giving input.
• Methods for get ready input approvals and ventures to take after when blunder happen.
OBJECTIVES
1. Input Design is the way toward changing over a client oriented depiction of the input into a PC based framework. This design is imperative to evade blunders in the information input process and demonstrate the right bearing to the administration for getting right data from the mechanized framework.
2. It is accomplished by making easy to understand screens for the information passage to deal with extensive volume of information. The objective of designing input is to make information passage simpler and to be free from blunders. The information section screen is designed such that every one of the information controls can be performed. It additionally gives record seeing offices.
3. When the information is entered, it will check for its legitimacy. Information can be entered with the assistance of screens. Suitable messages are given as when required so that the client won’t be in maize of moment. In this manner, the objective of input design is to make an input format that is anything but difficult to take after
5.2 OUTPUT DESIGN
A quality output is one, which meets the prerequisites of the end client and presents the data obviously. In any framework aftereffects of handling are imparted to the clients and to other framework through outputs. In output design, it is resolved how the data is to be uprooted for prompt need and furthermore the printed version output. It is the most critical and direct source data to the client. Effective and wise output design enhances the framework’s relationship to help client basic leadership.
1. Designing PC output ought to continue in a sorted out, well thoroughly considered way; the correct output must be created while guaranteeing that each output component is designed with the goal that individuals will discover the framework can utilize effortlessly and adequately. At the point when investigation design PC output, they ought to recognize the particular output that is expected to meet the prerequisites.
2. Select strategies for displaying data.
3. Create record, report, or different organizations that contain data delivered by the framework.
4. The output type of a data framework ought to achieve at least one of the accompanying objectives.
• Convey data about past exercises, current status or projections of the future.
- Signal vital occasions, openings, issues, or notices.
• Trigger an activity.
• Confirm an activity.
5.3 UML Concepts
The Unified Modelling Language (UML) is a standard language for writing software blue prints. The UML is a language for
- Visualizing
- Specifying
- Constructing
- Documenting the artefacts of a software intensive system.
The UML is a language which provides vocabulary and the rules for combining words in that vocabulary for the purpose of communication. A modelling language is a language whose vocabulary and the rules focus on the conceptual and physical representation of a system. Modelling yields an understanding of a system.
5.3.1 Building Blocks Of The UML
The vocabulary of the UML encompasses three kinds of building blocks:
- Things
- Relationships
- Diagrams
Things are the abstractions that are first-class citizens in a model; relationships tie these things together; diagrams group interesting collections of things.
5.3.1.1 Things in The UML
There are four kinds of things in the UML:
- Structural things
- Behavioral things
- Grouping things
- Annotational things
Structural things are the nouns of UML models. The structural things used in the project design are: Classes, Use Cases and Nodes
Window |
Origin
Size |
open()
close() |
First, a class is a description of a set of objects that share the same attributes, operations, relationships and semantics.
Fig 5.3.1.1 Classes
Second, a use case is a description of set of sequence of actions that a system performs that yields an observable result of value to particular actor.
Fig 5.3.1.2 Use Cases
Third, a node is a physical element that exists at runtime and represents a computational resource, generally having at least some memory and often processing capability.
Fig 5.3.1.3 Nodes
Behavioral thingsare the dynamic parts of UML models. The behavioral thing used is:
Interaction:
An interaction is a behaviour that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose. An interaction involves a number of other elements, including messages, action sequences (the behaviour invoked by a message, and links (the connection between objects).
Fig 5.3.1.4 Messages
5.3.1.2 Relationships in the UML
- Dependency
- Association
- Generalization
- Realization
A dependency is a semantic relationship between two things in which a change to one thing may affect the semantics of the other thing (the dependent thing).
Fig 5.3.1.5 Dependencies
An association is a structural relationship that describes a set links, a link being a connection among objects. Aggregation is a special kind of association, representing a structural relationship between a whole and its parts.
Fig 5.3.1.6 Association
A generalization is a specialization/ generalization relationship in which objects of the specialized element (the child) are substitutable for objects of the generalized element (the parent).
Fig 5.3.1.7 Generalization
A realization is a semantic relationship between classifiers, where in one classifier specifies a contract that another classifier guarantees to carry out.
Fig 5.3.1.8 Realization
5.3.1.3 Diagrams in the UML
Diagram is the graphical presentation of a set of elements, rendered as a connected graph of vertices (things) and arcs (relationships). A diagram may contain any combination of things and relationships. For this reason, the UML includes nine such diagrams:
(i) Class diagram: A class diagram shows a set of classes, interfaces, and collaborations and their relationships. Class diagrams that include active classes address the static process view of a system.
(ii) Object diagram:
- Object diagrams represent static snapshots of instances of the things found in class diagrams
- These diagrams address the static design view or static process view of a system
- An object diagram shows a set of objects and their relationships
(iii) Use case diagram:
- A use case diagram shows a set of use cases and actors and their relationships
- Use case diagrams address the static use case view of a system.
- These diagrams are especially important in organizing and modeling the behaviors of a system.
Interaction Diagrams
Both sequence diagrams and collaboration diagrams are kinds of interaction diagrams
Interaction diagrams address the dynamic view of a system
(iv) Sequence diagram: is an interaction diagram that emphasizes the time-ordering of messages
(v) Communication diagram: is an interaction diagram that emphasizes the structural organization of the objects that send and receive messages
Sequence diagrams and collaboration diagrams are isomorphic, meaning that you can take one and transform it into the other
(vi) State Chart diagram:
- A state chart diagram shows a state machine, consisting of states, transitions, events, and activities
- State chart diagrams address the dynamic view of a system
- They are especially important in modeling the behavior of an interface, class, or collaboration and emphasize the event-ordered behavior of an object
(vii) Activity diagram: An activity diagram is a special kind of a state chart diagram that shows the flow from activity to activity within a system. Activity diagrams address the dynamic view of a system. They are especially important in modeling the function of a system and emphasize the flow of control among objects.
(viii) Component diagram:
- A component diagram shows the organizations and dependencies among a set of components.
- Component diagrams address the static implementation view of a system
- They are related to class diagrams in that a component typically maps to one or more classes, interfaces, or collaborations.
(ix) Deployment diagram:
- A deployment diagram shows the configuration of run-time processing nodes and the components that live on them
- Deployment diagrams address the static deployment view of an architecture.
5.3.2 UML Diagrams For The Application
The different UML Diagrams that have been instrumental in modeling the architecture of the project such as Use Case Diagrams, Class Diagrams, and Activity Diagrams are given as follows:
5.3.2.1 Use Case Diagram
Fig 5.3.2.1 Use Case Diagram
5.3.2.2 Class Diagrams
This shows the Use case diagram of our project where the various activities that can be performed by the user are shown like logging in, viewing the side effects, dosage, drug interactions, of various drugs as well as updating the pharmacies.
Fig 5.3.2.2 Class Diagram – Project Overview
The class diagram shows the classes in each package or module, each rectangle box represents a class (those with compartments in it) These all are bundled in respective packages for effective use.
5.3.2.3 Sequence and Collaboration Diagrams
Fig 5.3.2.3 Sequence Diagram – Pharmacy
The Sequence diagram shows the time ordered set of instructions that has to be performed by the user. It represents sequence or flow of messages in system among various objects of the system. The rectangle boxes at top represent objects that are invoked by user and the dashed lines dropping from those boxes are life lines which shows existence of the object up to what time. The boxes on the dashed lines are events and the lines connecting them represent messages and their flow.
Fig 5.3.2.4 Collaboration Diagram – Pharmacy
A collaboration diagram shows the organization of the objects that participate in an interaction.
Fig 5.3.2.5 Sequence Diagram – User
The Sequence and Collaboration diagrams are added for User where set of time ordered messages are added in Sequence diagram and the Collaboration diagram shows the proper organization of the objects that participate in an interaction.
Fig 5.3.2.6 Collaboration Diagram – User
5.3.2.4 Activity Diagrams
Fig 5.3.2.7 Activity Diagram for Pharmacy
The Activity Diagram depicts the series of steps involved from the start of the tool to search the documents till the results are achieved along with branching.
Fig 5.3.2.8 Activity Diagram for User
Chapter 6
Implementation And Software Environment
6.1 Implementation
Execution is the stage in which one must be alerts since every one of the endeavors embraced amid the venture will be extremely intelligent. Execution is the most vital stage in accomplishing fruitful framework and giving the clients certainty that the new framework is workable and viable. Each program is tried separately at the season of advancement utilizing the example information and has confirmed that these projects connect together in the path determined in the program determination. The PC framework and its condition are tried as per the general inclination of the client.
The usage stage is less inventive than framework design. It is fundamentally worried with client preparing, and document change. The framework might require broad client preparing. The underlying parameters of the framework ought to be adjusted therefore of a programming. A simple working methodology is given so that the client can comprehend the diverse capacities plainly and rapidly. The distinctive reports can be acquired either on the inkjet or speck lattice printer, which is accessible at the transfer of the client. The proposed framework is anything but difficult to actualize. By and large execution is utilized to mean the way toward changing over another or modified framework design into an operational one.
6.2 Software Environment – Technologies Used
6.2.1 Java script:
JavaScript is a script-based programming language that was produced by Netscape Communication Corporation. JavaScript was initially called Live Script and renamed as JavaScript to demonstrate its association with Java. JavaScript bolsters the improvement of both customer and server segments of Web-based applications. On the customer side, it can be utilized to compose programs that are executed by a Web program inside the setting of a Web page. On the server side, it can be utilized to compose Web server programs that can procedure data put together by a Web program and after that updates the program’s show as needs be.
Despite the fact that JavaScript bolsters both customer and server Web programming, we favor
JavaScript at Client side programming since a large portion of the programs bolsters it. JavaScript is nearly as simple to learn as HTML, and JavaScript explanations can be incorporated into HTML.
<SCRIPTS>….</SCRIPT>.
<SCRIPT LANGUAGE = “JavaScript”>
Javascript Statements
</SCRIPT>
Here are a few things we can do with JavaScript :
- Validate the contents of a form and make calculations.
- Add scrolling or changing messages to the Browser’s status line.
- Animate images or rotate images that change when we move the mouse over them.
- Detect the browser in use and display different content for different browsers.
JAVASCRIPT VERSUS JAVA
JavaScript and Java are entirely different languages. A few of the most glaring differences are:
- Java applets are generally displayed in a box within the web document; JavaScript can affect any part of the Web document itself.
- While JavaScript is best suited o simple applications and adding interactive features to web pages; Java can be used for incredibly complex applications.
There are many other differences but the important thing to remember is that JavaScript and Java are separate languages. They are both useful for different things; in fact they can be used together to combine their advantages
6.2.2 HTML:
Hyper Text Markup Language, generally abridged as HTML, is the standard markup language used to make web pages. Alongside CSS, and JavaScript, HTML is a foundation innovation used to make web pages, and in addition to make UIs for versatile and web applications. Web programs can read HTML records and render them into noticeable or perceptible web pages. HTML portrays the structure of a website semantically and, before the approach of Cascading Style Sheets (CSS), included signals for the introduction or appearance of the report (web page), making it a markup language, instead of a programming language.
HTML components frame the building pieces of HTML pages. HTML enables pictures and different objects to be implanted and it can be utilized to make intelligent structures. It gives a way to make organized archives by meaning auxiliary semantics for content, for example, headings, sections, records, connections, cites and different things. HTML components are outlined by tags, composed utilizing edge sections. Tags, for example, <img/> and <input/> bring content into the page specifically. Others, for example, <p>…</p> encompass and give data about report message and may incorporate different tags as sub-components. Programs don’t show the HTML tags, yet utilize them to translate the content of the page.
HTML can implant scripts written in languages, for example, JavaScript which influence the conduct of HTML web pages. HTML markup can likewise allude the program to Cascading Style Sheets (CSS) to characterize the look and design of content and other material. The World Wide Web Consortium (W3C), maintainer of both the HTML and the CSS guidelines, has energized the utilization of CSS over unequivocal presentational HTML since 1997.
HTML MARKUP:
HTML markup comprises of a few key parts, including those called tags (and their qualities), character-based information sorts, character references and substance references. HTML tags most generally come in sets like <h1> and </h1>, albeit some speak to exhaust components as are unpaired, for instance <img>. The principal tag in such a couple is the begin tag, and the second is the end tag (they are additionally called opening tags and shutting tags). Another critical segment is the HTML report sort statement, which triggers models mode rendering.
The accompanying is a case of the exemplary Hello world program, a typical test utilized for looking at programming languages, scripting languages and markup languages. This case is made utilizing 9 lines of code:
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <title>This is a title</title>
5. </head>
6. <body>
7. <p>Hello world!</p>
8. </body>
9. </html>
6.2.3JDBC
JDBC is a Java API for executing SQL explanations. (As a state of intrigue, JDBC is a trademarked name and is not an acronym; by and by, JDBC is frequently considered as remaining for Java Database Connectivity. It comprises of an arrangement of classes and interfaces written in the Java programming language. JDBC gives a standard API to device/database designers and makes it conceivable to compose database applications utilizing an unadulterated Java API.
Utilizing JDBC, it is anything but difficult to send SQL articulations to basically any social database. One can compose a solitary program utilizing the JDBC API, and the program will have the capacity to send SQL articulations to the suitable database. The mixes of Java and JDBC gives a software engineer a chance to compose it once and run it anyplace.
FUNCTIONS OF JDBC
Basically, JDBC makes it conceivable to do three things:
- Establish an association with a database
- Send SQL explanations
- Process the outcomes.
JDBC VERSUS ODBC
Now, Microsoft’s ODBC (Open Database Connectivity) API is that likely the most broadly utilized programming interface for getting to social databases. It offers the capacity to interface with all databases on all stages.
So why not simply utilize ODBC from Java? The appropriate response is that you can utilize ODBC from Java, yet this is best finished with the assistance of JDBC as the JDBC-ODBC Bridge, which we will cover in a matter of seconds. The question now moves toward becoming “Why do you require JDBC?” There are a few responses to this question:
1. ODBC is not suitable for direct use from Java since it utilizes a C interface. Calls from Java to local C code have various downsides in the security, execution, robustness, and programmed conveyability of uses.
2. An exacting interpretation of the ODBC C API into a Java API would not be alluring. For instance, Java has no pointers, and ODBC makes extensive utilization of them, including the famously blunder inclined bland pointer “void *”. You can consider JDBC ODBC converted into an object-oriented interface that is normal for Java developers.
3. ODBC is difficult to learn. It combines simple and propelled components, and it has complex choices notwithstanding for simple questions. JDBC, then again, was intended to keep simple things simple while permitting more propelled capacities where required.
4. A Java API like JDBC is required keeping in mind the end goal to empower an “immaculate Java” arrangement. At the point when ODBC is utilized, the ODBC driver chief and drivers must be physically introduced on each customer machine. At the point when the JDBC driver is composed totally in Java, in any case, JDBC code is consequently installable, versatile, and secure on all Java stages from system PCs to centralized servers
The JDBC API bolsters both two-level and three-level models for database get to.
In the two-level model, a Java applet or application talks specifically to the database. This requires a JDBC driver that can speak with the specific database administration framework being gotten to. A client’s SQL explanations are conveyed to the database, and the consequences of those announcements are sent back to the client. The database might be situated on another machine to which the client is associated through a system. This is alluded to as a customer/server arrangement, with the client’s machine as the customer, and the machine lodging the database as the server. The system can be an Intranet, which, for instance, interfaces workers inside an organization, or it can be the Internet.
SQL proclamations to the database. The database forms the SQL proclamations and sends the outcomes back to the center level, which then sends them to the client. MIS executives locate the three-level model extremely appealing on the grounds that the center level makes it conceivable to keep up control over get to and the sorts of updates that can be made to corporate information. Another preferred standpoint is that when there is a center level, the client can utilize a simple to-utilize more elevated amount API which is deciphered by the center level into the proper low-level calls. At long last, as a rule the three-level engineering can give execution favorable circumstances.
6.3 JAVASERVER PAGES(JSP)
Java server Pages is a simple, yet effective innovation for making and keeping up unique content web pages. In light of the Java programming language, Java Server Pages offers demonstrated transportability, open principles, and a develop re-usable part show.
The Java Server Pages architecture empowers the detachment of content era from content introduction. This division not facilitates upkeep cerebral pains, it likewise permits web colleagues to concentrate on their zones of skill. Presently, web page planner can focus on format, and web application creators on programming, with negligible worry about affecting each other’s work.
Components of JSP :
- PORTABILITY
Java Server Pages records can be keep running on any web server or web-empowered application server that offers help for them. Named the JSP engine, this support includes acknowledgment, interpretation, and administration of the Java Server Page lifecycle and its cooperation segments.
- COMPONENTS
It was specified before that the Java Server Pages architecture can incorporate reusable Java parts. The architecture additionally takes into consideration the inserting of a scripting language straightforwardly into the Java Server Pages document. The segments current bolstered incorporate Java Beans, and Servlets.
- PROCESSING
A Java Server Pages record is basically a HTML report with JSP scripting or labels. The Java Server Pages document has a JSP augmentation to the server as a Java Server Pages record. Prior to the page is served, the Java Server Pages sentence structure is parsed and prepared into a Servlet on the server side. The Servlet that is produced yields genuine content in straight HTML for reacting to the customer.
- ACCESS MODELS
A Java Server Pages document might be gotten to in no less than two diverse ways. A customer’s demand comes specifically into a Java Server Page. In this situation, assume the page gets to reusable Java Bean segments that perform specific all around characterized calculations like getting to a database. The consequence of the Beans calculations, called result sets is put away inside the Bean as properties. The page uses such Beans to produce dynamic content and present it back to the customer.
In both of the above cases, the page could likewise contain any substantial Java code. Java Server Pages architecture energizes partition of content from introduction.
STEPS IN THE EXECUTION OF A JSP APPLICATION:
1. The customer sends a demand to the web server for a JSP record by giving the name of the JSP record inside the shape tag of a HTML page.
2. This ask for is exchanged to the Java Web Server. At the server side Java Web Server gets the demand and in the event that it is a demand for a jsp document server gives this demand to the JSP engine.
3. JSP engine is program which can comprehends the labels of the jsp and afterward it changes over those labels into a Servlet program and it is put away at the server side. This Servlet is stacked in the memory and afterward it is executed and the outcome is offered back to the Java Web Server and afterward it is exchanged back to the outcome is offered back to the Java Web Server and afterward it is exchanged back to the customer.
Network :
The JDBC gives database-autonomous network between the J2EE stage and a wide of forbidden information sources. JDBC innovation permits an Application Component Provider range to:
• Perform association and validation to a database server
• Manager exchanges
• Move SQL articulations to a database engine for preprocessing and execution.
6.4 ANGULARJS
AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. AngularJS’s data binding and dependency injection eliminate much of the code you would otherwise have to write. And it all happens within the browser, making it an ideal partner with any server technology.
AngularJS is what HTML would have been, had it been designed for applications. HTML is a great declarative language for static documents. It does not contain much in the way of creating applications, and as a result building web applications is an exercise in what do I have to do to trick the browser into doing what I want?
The impedance mismatch between dynamic applications and static documents is often solved with:
- a library – a collection of functions which are useful when writing web apps. Your code is in charge and it calls into the library when it sees fit. E.g., jQuery.
- frameworks – a particular implementation of a web application, where your code fills in the details. The framework is in charge and it calls into your code when it needs something app specific. E.g., durandal, ember, etc.
AngularJS takes another approach. It attempts to minimize the impedance mismatch between document centric HTML and what an application needs by creating new HTML constructs. AngularJS teaches the browser new syntax through a construct we call directives. Examples include:
- Data binding, as in {{}}.
- DOM control structures for repeating, showing and hiding DOM fragments.
- Support for forms and form validation.
- Attaching new behavior to DOM elements, such as DOM event handling.
- Grouping of HTML into reusable components.
A complete client-side solution:
AngularJS is not a single piece in the overall puzzle of building the client-side of a web application. It handles all of the DOM and AJAX glue code you once wrote by hand and puts it in a well-defined structure. This makes AngularJS opinionated about how a CRUD (Create, Read, Update, Delete) application should be built. But while it is opinionated, it also tries to make sure that its opinion is just a starting point you can easily change. AngularJS comes with the following out-of-the-box:
- Everything you need to build a CRUD app in a cohesive set: Data-binding, basic templating directives, form validation, routing, deep-linking, reusable components and dependency injection.
- Testability story: Unit-testing, end-to-end testing, mocks and test harnesses.
- Seed application with directory layout and test scripts as a starting point.
AngularJS simplifies application development by presenting a higher level of abstraction to the developer. Like any abstraction, it comes at a cost of flexibility. In other words, not every app is a good fit for AngularJS. AngularJS was built with the CRUD application in mind. Luckily CRUD applications represent the majority of web applications. To understand what AngularJS is good at, though, it helps to understand when an app is not a good fit for AngularJS.
Games and GUI editors are examples of applications with intensive and tricky DOM manipulation. These kinds of apps are different from CRUD apps, and as a result are probably not a good fit for AngularJS. In these cases it may be better to use a library with a lower level of abstraction.
6.5 GOOGLE Maps API
Google Maps is a web mapping service created by Google. It offers satellite symbolism, road maps, 360° panoramic perspectives of lanes (Street View), continuous traffic conditions (Google Traffic), and course making arrangements for going by foot, car, bicycle (in beta), or public transportation.
Google maps started as a C++ desktop program designed by Lars and Jens Eilstrup Rasmussen at Where 2 Technologies. In October 2004, the company was acquired by Google, which converted it into a web application. After extra acquisitions of a geospatial information representation company and a realtime traffic analyzer, Google Maps was launched in February 2005. The service’s front end uses JavaScript, XML, and Ajax. Google Maps offers an API that enables maps to be implanted on outsider websites, and offers a locator for urban organizations and different associations in various countries around the globe. Google Map Maker enables clients to collaboratively grow and refresh the service’s mapping around the world.
Google APIs is an arrangement of application programming interfaces (APIs) created by Google which permit communication with Google Services and their coordination to different services. Cases of these include Search, Gmail, Translate or Google Maps. Outsider applications can utilize these APIs to exploit or amplify the functionality of the current services.
The APIs give functionality like analytics, machine learning as a service (the Prediction API) or access to client information (when authorization to peruse the information is given). Another imperative case is an installed Google outline a website, which can be achieved utilizing the Static maps API, Places API or Google Earth API.
Google Apps Script is a cloud-based JavaScript stage which enables engineers to compose scripts that can control APIs of services such as Calendar, Docs, Drive, Gmail, and Sheets and effectively create Add-Ons for these services with chromium based applications.
There are client libraries in different languages which enable engineers to utilize Google APIs from inside their code, including Java, JavaScript, .NET, Objective-C, PHP and Python.
The Google Loader is a JavaScript library which permits web engineers to effectively stack other JavaScript APIs given by Google and different designers of famous libraries. Google Loader gives a JavaScript technique to stacking a specific API (likewise called module), in which extra settings can be specified such as API adaptation, language, location, selected packages, stack callback and different parameters specific to a particular API. Dynamic stacking or auto-stacking is additionally bolstered to enhance the performance of the application utilizing the stacked API
Chapter 7
Code Files And System Testing
7.1 Code Files
7.1.1 home.html
<!DOCTYPE html>
<html>
<head>
<linkrel=”stylesheet” href=”https://fonts.googleapis.com/icon?family=Material+Icons”>
<style>
.about{
padding-top:25px;
padding-bottom:25px;
font-size:30px;
font-family: “Segoe UI”,”Segoe UI Symbol”,Roboto,Helvetica,Arial,sans-serif;
color:#3b3b3b;
}
.content
{
line-height:1.7;
font-size:20;
color:#484848;
font-family: “Segoe UI”,”Segoe UI Symbol”,Roboto,Helvetica,Arial,sans-serif;}
image{
height:1150;
width:100%;
}
body {
background-repeat: no-repeat;
background-position: 0px 80px ;
}
</style>
<style>
.dropbtn {
background-color: #000099;
border-radius:5px;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
right:0;
}
.dropdown {
position:relative;
display: block;
right:-920px;
top:-50px;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown-content a:hover {background-color: #f1f1f1}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color:#000099;
}
</style>
<style>
.med{
border-radius: 10px;
border: 3px solid #000099;
background-image: url(‘images/searchicon.png’);
background-repeat:no-repeat;
background-position:0% 50%;
padding: 20px 20px 20px 65px;
width: 500px;
height: 6px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
font-size:18px;
}
</style>
</head>
<body>
<a href=”wedhomeold.html”><i class=”material-icons” style=”font-size:52px;color:#000099;” >home</i></a>
<div class=”dropdown”>
<button class=”dropbtn” onclick=”location.href = ‘index.html’;”>Login</button>
</div>
<form name=”searchengine”id=”searchengine” action=”wedsearchSE.html”>
<div style=”background-image:url(‘images/tab.jpg’);background-repeat:no-repeat;background-size:cover;height:400px;padding:20px;”>
<input type=”text” name=”keywords” class=”med” id=”keywords” value=””required=”required” maxlength=40 placeholder=”enter drug name” onkeydown=”if(event.keycode==13){}”/>
</div>
</form>
<div>
<div class=”about”>About Us</div>
<div class=”content”>Our site simply provides a free drug-information service to help you better understand how medicines work: their uses, side effects and potential to interact with other medicines along with the information about the drugs available in the pharmacies.
<br> <br>This site is NOT affiliated with any pharmaceutical companies.
</div>
<div class=”about”>Contact Us</div>
<div class=”content”>Give Us Your Feedback
<br> <br> Sahithi.V<br>
email: sahithireddy@gmail.com<br><br>
Meghana. B<br>
email: meghana@gmail.com
</div>
<div class=”about”> Terms and Conditions</div>
<div class=”content”>This website is intended for viewing by the audience of INDIA. If you are in another country, local laws may not permit access to the medical information contained in this site.
</div>
</div>
</body>
</html>
7.1.2 Search.html
<!DOCTYPE html>
<html>
<head>
<linkrel=”stylesheet” href=”https://fonts.googleapis.com/icon?family=Material+Icons”>
<script>
title = new Object();
desc = new Object();
over= new Object();
side= new Object();
dos= new Object();
inter= new Object();
matched= new Object();
keywords= new Object();
found= new Object();
var temp=0;
title[0]=6
keywords[0]=0
found[0]=0
title[1]=”paracetamol”
desc[1]=”Paracetamol (acetaminophen) is a pain reliever and a fever reducer. The exact mechanism of action of is not known.Paracetamol is used to treat many conditions such as headache, muscle aches, arthritis, backache, toothaches, colds, and fevers. It relieves pain in mild arthritis but has no effect on the underlying inflammation and swelling of the joint. ”
over[1]=”para/para_over.jsp”
side[1]=”para/para_side.jsp”
dos[1]=”para_over.jsp”
inter[1]=”para/para_inter.jsp”
matched[1]=0
title[2]=”advil”
desc[2]=”Advil Allergy Sinus contains a combination of chlorpheniramine, ibuprofen, and pseudoephedrine. ”
over[2]=”advil/advil_over.jsp”
side[2]=”advil/advil_side.jsp”
dos[2]=”advil/advil_dosage.jsp”
inter[2]=”advil/advil_inter.jsp”
matched[2]=0
title[3]=”dolo”
desc[3]=”Dolo 650 MG Tablet is used to temporarily relieve fever and mild to moderate pain such as muscle ache, headache, toothache, arthritis, and backache.Dolo-650 tablet blocks the release of certain chemical messengers in the brain that is responsible for pain and fever.”
over[3]=”dolo/dolo_over.jsp”
side[3]=”dolo/dolo_side.jsp”
dos[3]=”doo/dolo_dosage.jsp”
inter[3]=”dolo/dolo_inter.jsp”
matched[3]=0
title[4]=”crocin”
desc[4]=”Crocin 500 MG Tablet is used to temporarily relieve fever and mild to moderate pain such as muscle ache, headache, toothache, arthritis, and backache.”
over[4]=”crocin/crocin_over.jsp”
side[4]=”crocin/crocin_side.jsp”
dos[4]=”crocin/crocin_dosage.jsp”
inter[4]=”crocin/crocin_inter.jsp”
matched[4]=0
title[5]=”azithromycin”
desc[5]=”Azithromycin is an antibiotic that fights bacteria.Azithromycin is used to treat many different types of infections caused by bacteria, such as respiratory infections, skin infections and ear infections…”
over[5]=”azithromycin/azithromycin_over.jsp”
side[5]=”azithromycin/azithromycin_side.jsp”
dos[5]=”azithromycin/azithromycin_dosage.jsp”
inter[5]=”azithromycin/azithromycin_inter.jsp”
matched[5]=0
title[6]=”zofer”
desc[6]=”Zofer 4 MG Tablet is antiemetic drug used to prevent nausea and vomiting caused by cancer chemotherapy and radiation therapy. It works by blocking the action of a chemical substance that causes nausea and vomiting. The most common side effects are constipation and headache.”
over[6]=”zofer/zofer_over.jsp”
side[6]=”zofer/zofer_side.jsp”
dos[6]=”zofer/zofer_dosage.jsp”
inter[6]=”zofer/zofer_inter.jsp”
matched[6]=0
function search(){
var skeyword = getQueryVariable(“keywords”);
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split(“&”);
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split(“=”);
if (pair[0] == variable) {
return pair[1];
}
}
alert(‘Query Variable ‘ + variable + ‘ not found’);
}
skeyword = skeyword.toLowerCase();
var check1=1;
var pos1=0;
var i1=0;
var j1=0;
var itemp1=0;
var config1=”;
var over1=”overview”;
var side1=”sideEffects”;
var dos1=”dosage”;
var inter1=”interactions”;
while (true)
{
if (skeyword.indexOf(“+”) == -1 )
{
keywords[check]=skeyword;
break;
}
pos=skeyword.indexOf(“+”);
if (skeyword !=”+”)
{
keywords[check]=skeyword.substring(0,pos);
check++;
}
else
{
check–;
break;
}
skeyword=skeyword.substring(pos+1, skeyword.length);
if (skeyword.length ==0)
{
check–;
break;
}
}
keywords[0]=check;
for ( i=1; i<=keywords[0];i++)
{
for (j=1;j<=title[0];j++)
{
if (title[j].toLowerCase().indexOf(keywords[i]) > -1 )
{
matched[j]++;
}
} }
for (i=1;i<=title[0];i++)
{
if (matched[i] > 0 )
{
Found1[0]++;
Found1[found1[0]]=i;
}
}
for (i=1;i<=found[0]-1;i++)
{
for(j=i+1;j<=found[0];j++)
{
if ( matched[found[i]]< matched[found[j]] )
{
temp1= found1[j];
found1[j]=found1[i];
found1[i]=temp;
}
}
}
window.onerror=new Function(“return true”);
document.getElementById(“ikeywords”).innerHTML +=’ The Keyword(s) you searched : ‘
for (i=1; i<=keywords[0]; i++)
{
document.getElementById(“ikeywords”).innerHTML +=(keywords[i].bold() +” “);
}
if (found[0]==0)
{
document.getElementById(“ino”).innerHTML=”No matches resulted in this search”;
}
else
{
document.getElementById(“ino”).innerHTML=” The Results are : “;
for (i=1; i<=found[0];i++)
{
itemp=found[i];
document.getElementById(“ilink”).innerHTML+=(title[itemp].fontsize(6)+”<br>”+desc[itemp].italics() +”<br>” +”<br>” +
over1.link(over[itemp])+”<br>”+side1.link(side[itemp])+”<br>”+dos1.link(dos[itemp])+”<br>”+inter1.link(inter[itemp])+”<br><br>”);
matched[itemp]=0
}
found[0]=0;
}}
</script>
<style>
.about{
padding-top:2px;
padding-bottom:3px;
font-size:30px;
font-family: “Segoe UI”,”Segoe UI Symbol”,Roboto,Helvetica,Arial,sans-serif; color:#3b3b3b;
}
.content
{
line-height:1.7;
color:#484848;
font-family: “Segoe UI”,”Segoe UI Symbol”,Roboto,Helvetica,Arial,sans-serif;
}
</style>
</head>
<body bgcolor=#fff text=#000 link=#990099 vlink =#339966 onload=”search();”>
<a href=”wedhomeold.html”><i class=”material-icons” style=”font-size:52px;color:#000099;” >home</i></a>
<center> <h1 class=”about”> Search Results </h1></center>
<div style=”background-image:url(‘images/tab.jpg’);background-repeat:no-repeat;background-size:cover;height:1px;padding:20px;”></div>
<p id=”ikeywords” class=”about” style=”padding:5px 20px 0px 20px;”></p>
<p id=”ino” class=”content” style=”padding:20px 20px 10px 20px;font-size:20px;”></p>
<p id=”ilink” class=”content” style=”line-height:1.7;padding:10px 20px 20px 20px;”></p>
</body>
</html>
7.1.3 Sidebar.html
<!DOCTYPE html>
<html>
<head>
<meta charset=”ISO-8859-1″>
<title>Insert title here</title>
<style>
.float-left-area {width: 70%;
float: left;
}
.float-right-area { width: 30%;
float: right;
}
.inner-right {
font-size: 30px;
padding: 1px 1px 1px 1px;
border: #50394c 4px solid;
min-height: 250px;
}
.clear-floated { clear: both; height: 1px; font-size: 1px; line-height: 1px; padding: 0; margin: 0; }
</style>
</head>
<body>
</body>
</html>
7.1.4 Paraover.html
<%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″
pageEncoding=”ISO-8859-1″%>
<%@page import=”java.io.*” %>
<%@page import=”java.sql.*” %>
<%@include file=”para_tab.jsp”%>
<%@include file=”sidebar.html”%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=ISO-8859-1″>
<title>Insert title here</title>
<style>
#overview{background-color: #99004d !important;}
h2{
font-size:35;
font-family: “Segoe UI”,”Segoe UI Symbol”,Roboto,Helvetica,Arial,sans-serif;
font-weight:bold;
color:#3b3b3b;
}
.content
{
font-size:20;
color:#484848;
font-family: “Segoe UI”,”Segoe UI Symbol”,Roboto,Helvetica,Arial,sans-serif;
}
.sidebarhead
h1{
font-size:20px;
margin:0;
padding:12px 20px;
color:#fff;
background-color: #99004d;
position:relative;
top:0px;
}
.availability
{ display: block;
text-align: left;
padding: 23px 6px 20px 8px;
font-size: 27px;
}
</style>
</head>
<body>
<div class=”content float-left-area”>
<h2>
What is Paracetamol?</h2>
<p>Paracetamol (acetaminophen)…..</p>
</div>
<div class=”float-right-area” style=”padding-top:30px;”>
<div class=”sidebarhead”>
<h1 >DRUG STATUS</h1>
</div>
</div>
<div class=”float-right-area”>
<div class=”inner-right”>
<div class=”availability”>
<img src=”https://images.freedissertationertations.com/17/avail.png” style=”width:30px;height:20px” ><strong>Availability</strong>
<i style=”font-size:17px”>(Rx)</i>
</div>
<div class=”availability”>
<img src=”https://images.freedissertationertations.com/17/price.png” style=”width:30px;height:20px” ><strong>Price</strong>
<i style=”font-size:17px”>(R)</i>
</div>
<div class=”availability”>
<img src=”https://images.freedissertationertations.com/17/approve.png”style=”width:30px;height:20px” ><strong>Approval</strong>
<i style=”font-size:17px”>(CDSCO)</i>
</div>
</div>
</div>
</body>
</html>
7.1.5 Newmap.html
<!DOCTYPE html >
<head>
<meta name=”viewport” content=”initial-scale=1.0, user-scalable=no” />
<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″/>
<linkrel=”stylesheet” href=”//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css” />
<title>From Info Windows to a Database: Saving User-Added Form Data</title>
<style>
#map {
height:100%;
}
html, body {
height: 100%;
margin: 0;
padding: 0;
}
.bor
{
padding-top: 10px;
}
</style>
</head>
<body>
<div class=”col-md-3 col-md-offset-1 bor”>
<form name=”form” role=”form”>
<div class=”form” ng-class=”{ ‘has-error’: form.name.$dirty && form.name.$error.required }”>
<label for=”pharmacy”>Pharmacy </label>
<input type=”text” name=”pharmname” id=”pharmname” class=”form-control” ng-model=”dg.user.pharmname” required />
<span ng-show=”form.name.$dirty && form.name.$error.required” class=”help-block”>Pharmacy name is required</span>
</div>
<div class=”form” ng-class=”{ ‘has-error’: form.address.$dirty && form.address.$error.required }”>
<label for=”username”>Address</label>
<input type=”text” name=”address” id=”address” class=”form-control” ng-model=”vm.user.address” required />
<span ng-show=”form.address.$dirty && form.address.$error.required” class=”help-block”>Address is required</span>
</div>
<div class=”form” ng-class=”{ ‘has-error’: form.type.$dirty && form.type.$error.required }”>
<label for=”username”>medicine</label>
<input type=”text” name=”type” id=”type” class=”form-control” ng-model=”vm.user.type” required />
<span ng-show=”form.type.$dirty && form.type.$error.required” class=”help-block”>Medicine name is required</span>
</div>
<input type=’submit’ value=’Save’ onclick=’saveData()’/>
</form>
</div>
<div id=”map” height=”460px” width=”100%”></div>
<script>
var maps;
var markers;
var infowindows;
var messagewindows;
function initMap() {
var hyderabad = {lat: 17.3850, lng: 78.4867};
maps = new google.maps.Map(document.getElementById(‘maps’), {
center: hyderabad,
zoom: 13
});
infowindows = new google.maps.InfoWindow({
content: document.getElementById(‘form’)
})
messagewindows = new google.maps.InfoWindow({
content: document.getElementById(‘message’)
});
google.maps.event.addListener(map, ‘click’, function(event) {
markers = new google.maps.Marker({
position: event.latLng,
map: map
});
google.maps.event.addListener(markers, ‘click’, function() {
infowindows.open(maps, markers);
});
});
}
function saveData() {
var pname = escape(document.getElementById(‘name’).value);
var paddress = escape(document.getElementById(‘address’).value);
var ptype = document.getElementById(‘type’).value;
var platlng = marker.getPosition();
var url = ‘Addcoor2.jsp?name=’ + name + ‘&address=’ + address +
‘&type=’ + type + ‘&lat=’ + latlng.lat() + ‘&lng=’ + latlng.lng();
downloadUrl(url, function(data, responseCode) {
if (responseCode == 200 && data.length <= 1) {
infowindow.close();
messagewindow.open(maps, markers);
}
});
}
function downloadUrl(url, callback) {
var req = window.ActiveXObject ?
new ActiveXObject(‘Microsoft.XMLHTTP’) :
new XMLHttpRequest;
req.onreadystatechange = function() {
if (req.readyState == 4) {
req.onreadystatechange = doNothing;
callback(req.responseText, req.status);
}
};
req.open(‘GET’, url, true);
req.send(null);
}
function doNothing () {
}
</script>
<script async defer
src=”https://maps.googleapis.com/maps/api/js?key=AIzaSyBen5D951fP9fNM2XnM6vtbCFD2oJLWPv8&callback=initMap”>
</script>
</body>
</html>
7.1.6 Addcoor.jsp
<%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″
pageEncoding=”ISO-8859-1″%>
<%@page import=”java.io.*” %><!DOCTYPE html>
<%@page import=”java.sql.*” %>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>JSP Page</title>
</head>
<body>
<%
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con1=DriverManager.getConnection
(“jdbc:oracle:thin:@localhost:1521:XE”,”sales_report”,”salesreport”);
//String id=request.getParameter(“id”);
String name=request.getParameter(“name”);
String address=request.getParameter(“address”);
String type=request.getParameter(“type”);
String lat=request.getParameter(“lat”);
String lng=request.getParameter(“lng”);
PreparedStatement ps1=con1.prepareStatement(“insert into “+type+” values(?,?,?,?,?)”);
// ps.setString(1,id );
ps1.setString(1,name );
ps1.setString(2,address);
ps1.setString(3,lat);
ps1.setString(4,lng);
ps1.setString(5,type);
int k=ps1.executeUpdate();
if(k!=0)
{
out.println(“Added Sucessfully”);
}
else
{
out.println(“not added”);
}
ps1.close();
con1.close();
%>
</body>
</html>
7.1.7 Mapdis.jsp
<%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″
pageEncoding=”ISO-8859-1″%>
<%@page import=”java.io.*” %><!DOCTYPE html>
<%@page import=”java.sql.*” %>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>JSP Page</title>
</head>
<body>
<%
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con1=DriverManager.getConnection
(“jdbc:oracle:thin:@localhost:1521:XE”,”sales_report”,”salesreport”);
String name=request.getParameter(“name”);
String address=request.getParameter(“address”);
String type=request.getParameter(“type”);
String lat=request.getParameter(“lat”);
String lng=request.getParameter(“lng”);
PreparedStatement ps1=con1.prepareStatement(“insert into “+type+” values(?,?,?,?,?)”);
ps1.setString(1,name );
ps1.setString(2,address);
ps1.setString(3,lat);
ps1.setString(4,lng);
ps1.setString(5,type);
int k=ps1.executeUpdate();
if(k!=0)
{
out.println(“Added Sucessfully”);
}
else
{
out.println(“not added”);
}
ps1.close();
con1.close();
%>
</body>
</html>
7.1.8 Xmlout.jsp
<%@page import=”java.io.*,org.w3c.dom.*,javax.xml.parsers.*,javax.xml.transform.*, javax.xml.transform.dom.*,javax.xml.transform.stream.*”%>
<%@page import=”java.sql.*” %>
<% try{
String value= “select * from COOR”;
//String query= (String)(request.getAttribute(“query”));
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con3=DriverManager.getConnection
(“jdbc:oracle:thin:@localhost:1521:XE”,”sales_report”,”salesreport”);
Statement stat3 = con3.createStatement();
ResultSet rs3 = stat3.executeQuery(value);
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = builderFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element root = doc.createElement(“markers”);
doc.appendChild(root);
while(rs3.next())
{
String name=rs3.getString(“name”);
String address=rs3.getString(“address”);
String lat=rs3.getString(“lat”);
String lng=rs3.getString(“lng”);
String type=rs3.getString(“type”);
Element marker = doc.createElement(“marker”);
marker.setAttribute(“name”,name);
marker.setAttribute(“address”,address);
marker.setAttribute(“lat”,lat);
marker.setAttribute(“lng”,lng);
marker.setAttribute(“type”,type);
root.appendChild(marker);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, “yes”);
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = sw.toString();
File file = new File(“C:/Users/user/workspace/cleaned/WebContent/para/new2.xml”);
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
bw.write(xmlString);
bw.flush();
bw.close();
}
rs3.close();
stat3.close();
con3.close();
}
catch(Exception e)
{
System.out.println(e);
}
%>
7.1.9 Addressview.jsp
<%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″
pageEncoding=”ISO-8859-1″%>
<%@page import=”java.io.*” %>
<%@page import=”java.sql.*” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=ISO-8859-1″>
<title>here</title>
</head>
<body>
<div class=”float-left-area”>
<center>
<table cellspacing = 10px>
<table border=”0″>
<% String value1= “select NAME,ADDRESS from COOR”;
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con2=DriverManager.getConnection
(“jdbc:oracle:thin:@localhost:1521:XE”,”sales_report”,”salesreport”);
Statement st2=con2.createStatement();
ResultSet rs2=st2.executeQuery(value1);
while(rs2.next())
{
%>
<tr>Pharmacy name: <%=rs2.getString(“name”)%></tr><br>
<tr>Address:<%=rs2.getString(“address”)%></tr><br><br>
<%
}
rs2.close();
st2.close();
con2.close();
Thread.sleep(1000);
%>
</table>
</center>
</div>
</body>
</html>
7.1.10 L.view.html
<h2>Login</h2>
<form name=”form” ng-submit=”dg.login()” role=”form”>
<div class=”form” ng-class=”{ ‘has-error’: form.user.$dirty && form.user.$error.required }”>
<label for=”user”>Username</label>
<input type=”text” name=”user” id=”user” class=”form-control” ng-model=”dg.user” required />
</div>
<div class=”form” ng-class=”{ ‘has-error’: form.pword.$dirty && form.pword.$error.required }”>
<label for=”pword”>Password</label>
<input type=”password” name=”pword” id=”pword” class=”formc” ng-model=”dg.pword” required />
</div>
<div class=”formactions”>
<button type=”submit” ng-disabled=”form.$invalid || dg.dataLoading” class=”btn btn-primary”>Login</button>
<img ng-if=”dg.dataLoading” src=”data:image/gif;base64, /==” />
<a href=”register” class=”button”>Register</a>
</div>
</form>
</div>
7.1.11 LController.js
(function () {
‘use strict’;
angular
.module(‘apps’)
.controller(‘LController’, LController);
LController.$inject = [‘$location’, ‘Authenticationservice’, ‘Flashservice’];
function LController($location, Authenticationservice, Flashservice) {
var dg = this;
dg.login = login;
(function initController() {
Authenticationservice.ClearCredentials();
})();
function login() {
dg.dataLoading = true;
Authenticationservice.Login(dg.username, dg.password, function (response) {
if (response.success) {
Authenticationservice.SetCredentials(dg.username, dg.password);
$location.path(‘/’);
} else {
Flashservice.Error(response.message);
dg.dataLoading = false;
}
});
};
}
})();
7.1.12 Application.js
(function () {
‘use strict’;
angular
.module(‘apps’)
.controller(‘LController’, LController);
LController.$inject = [‘$location’, ‘Authenticationservice’, ‘FlashService’];
function LController($location, Authenticationservice, FlashService) {
var dg = this;
dg.login = login;
(function initController() {
Authenticationservice.ClearCredentials();
})();
function login() {
dg.dataLoading = true;
Authenticationservice.Login(dg.user,dg.pword, function (response) {
if (response.success) {
Authenticationservice.SetCredentials(dg.username, dg.password);
$location.path(‘/’);
} else {
Flashservice.Error(response.message);
dg.dataLoading = false;
}
});
};
}
})();
7.1.13 Newuser.view.html
<h2>Register</h2>
<form name=”form” ng-submit=”dg.register()” role=”form”>
<div class=”form” ng-class=”{ ‘has-error’: form.first.$dirty && form.first.$error.required }”>
<label for=”user”>Pharmacy name</label>
<input type=”text” name=”first” id=”firstN” class=”form-control” ng-model=”dg.user.firstN” required />
<span ng-show=”form.first.$dirty && form.first.$error.required” class=”help-block”>This field is required</span>
<div class=”form” ng-class=”{ ‘has-error’: form.lastName.$dirty && form.lastName.$error.required }”>
<label for=”user”>Contact</label>
<input type=”text” name=”last” id=”Text1″ class=”form-control” ng-model=”dg.user.last” required />
<span ng-show=”form.last.$dirty && form.last.$error.required” class=”help-block”>This field is required</span>
</div>
<div class=”form” ng-class=”{ ‘has-error’: form.user.$dirty && form.user.$error.required }”>
<label for=”user”>Username</label>
<input type=”text” name=”user” id=”user” class=”form-control” ng-model=”dg.usern.user” required />
<span ng-show=”form.user.$dirty && form.user.$error.required” class=”help-block”>This field is required</span>
</div>
<div class=”form” ng-class=”{ ‘has-error’: form.pword.$dirty && form.pword.$error.required }”>
<label for=”pword”>Password</label>
<input type=”pword” name=”pword” id=”pword” class=”form-control” ng-model=”dg.user.pword” required />
<span ng-show=”form.pword.$dirty && form.pword.$error.required” class=”help-block”>This filed is required</span>
</div>
<div class=”actions”>
<button type=”submit” ng-disabled=”form.$invalid || dg.dataLoading” class=”button”>Register</button>
<img ng-if=”dg.dataLoading” > <a href=”/login” class=”btn “>Cancel</a>
</div>
</form>
</div>
7.1.14 Newuser.controller
(function () {
‘use strict’;
angular
.module(‘apps’)
.controller(‘RController’, RController);
RController.$inject = [‘Userservice’, ‘$location’, ‘$rootScope’, ‘Flashservice’];
function RController(Userservice, $location, $rootScope, Flashservice) {
var dg = this;
dg.register = register;
function register() {
dg.dataLoading = true;
Userservice.Create(dg.user)
.then(function (response) {
if (response.success) {
Flashservice.Success(‘Process successful’, true);
$location.path(‘/login’);
} else {
Flashservice.Error(response.message);
dg.dataLoading = false;
}
});
}
}
})();
7.1.15 Mainpage.controller
(function () {
‘use strict’;
angular
.module(‘apps’)
.controller(‘HController’, HController);
HController.$inject = [‘Userservice’, ‘$rootScope’];
function HController(Userservice, $rootScope) {
var dg = this;
dg.user = null;
dg.allUsers = [];
dg.deleteUser = deleteUser;
nitController();
function nitController() {
loadCurrentUser();
loadAllUsers();
}
function loadCurrentUser() {
Userservice.GetByUsername($rootScope.globals.currentUser.user)
.then(function (user) {
dg.user = user;
});
function loadAllUsers() {
Userservice.GetAll()
.then(function (users) {
dg.allUsers = users;
});
}
function deleteUser(id) {
Userservice.Delete(id)
.then(function () {
loadAllUsers();
});
}
}
})();
7.15 Mainpage.view.html
<h1>Hi {{dg.user.firstName}}!</h1>
<p>You’re logged in!!</p>
<h3>All users:</h3>
<ul>
<li ng-repeat=”user in dg.allUsers”>
{{user.username}} ({{user.firstName}} {{user.lastName}})
– <a ng-click=”dg.deleteUser(user.id)”>Delete</a>
</li>
</ul>
<p> </p>
<p><a href=”newmap2.jsp” class=”btn “>Add medicine</a>
<a href=”/login” class=”btn “>Logout</a>
</p>
7.2 SYSTEM TESTING
The motivation behind testing is to find blunders. Testing is the way toward attempting to find each possible blame or shortcoming in a work item. It gives an approach to check the usefulness of segments, sub-congregations, gatherings and additionally a completed item, it is the way toward practicing programming with the aim of guaranteeing that the Software framework lives up to its prerequisites and client desires and does not flop in an unsatisfactory way. There are different sorts of test. Each test sort addresses a particular testing prerequisite.
7.2.1 Types Of Tests
7.2.1.1. Unit Testing
Unit testing includes the design of test cases that approve that the inside program rationale is working legitimately, and that program inputs create substantial outputs. All choice branches and inward code stream ought to be approved. It is the trying of individual programming units of the application. It is done after the finishing of an individual unit before integration. This is an auxiliary testing, that depends on information of its development and is invasive. Unit tests perform essential tests at segment level and test a particular business process, application, or potentially framework arrangement. Unit tests guarantee that every interesting way of a business procedure performs precisely to the recorded particulars and contains plainly characterized inputs and expected outcomes.
7.1.1.2 Integration Testing
Integration tests are intended to test coordinated programming parts to decide whether they really keep running as one program. Testing is occasion driven and is more concerned with the fundamental result of screens or fields. Integration tests exhibit that despite the fact that the segments were exclusively satisfied, as appeared by effective unit testing, the blend of components is right and steady. Integration testing is particularly undergone for uncovering the issues that emerge from the blend of components.
7.1.1.3 Functional Test
Functional tests give orderly exhibits that functionality tried are accessible as indicated by the business and specialized necessities, framework documentation, and client manuals.
Functional testing is centered on the following items:
- Valid Input : identified classes of valid input must be accepted.
- Invalid Input : identified classes of invalid input must be rejected.
- Functions : identified functions must be exercised.
- Output : identified classes of application outputs must be exercised.
- Procedures : interfacing systems or procedures must be invoked.
Organisation and preparation of functional tests is centered around necessities, key capacities, or exceptional experiments. Likewise, methodical scope relating to recognize Business handle streams; information fields, predefined forms, and progressive procedures must be considered for testing. Before practical testing is finished, extra tests are recognized and the viable estimation of current tests is resolved.
7.2.1.4 System Test
System testing guarantees that the whole incorporated system meets prerequisites. It tests a configuration to guarantee known and unsurprising outcomes. A case of system testing is the config oriented system test. System testing depends on process depictions and streams, stressing pre-driven process connections and integration points.
7.2.1.5 White Box Testing
White Box Testing is testing in which in which the product analyzer knows about the internal workings, structure and language of the product, or if nothing else, its motivation and reason. It is utilized to test regions that can’t be come to from a black box level.
7.2.1.6 Black Box Testing
Black Box Testing will be testing the product with no learning of the inward workings, structure or language of the module being tried. Black Box tests, as most different sorts of tests, must be composed from an authoritative source record, for example, detail or prerequisites archive, for example, specification or requirements report. It is a test in which the product under test is dealt with, as a black box. You can’t “see” into it. The test gives data sources and reacts to outputs without considering how the product functions.
7.2.2 Unit Testing
Unit testing is normally led as a feature of a joined code and unit test period of the product lifecycle, in spite of the fact that it is normal for coding and unit testing to be led as two particular stages. Test strategy and approach field testing will be performed physically and useful tests will be composed in detail.
Test objectives:
- All field sections must work appropriately.
- Pages must be initiated from the recognized connection.
- The section screen, messages and reactions must not be postponed.
Features to be tested:
- Verify that the passages are of the right format
- No copy passages ought to be permitted
- All connections ought to take the client to the right page.
7.2.3 Integration Testing
Integration testing is the incremental coordination testing of at least two incorporated programming parts on a solitary platform to produce failures brought about by interface errors. The purpose of the Integration test is to watch that parts or programming software applications, e.g. parts in a product framework for programming applications at the organization level – cooperate without defects.
7.2.4 Acceptance Testing
User Acceptance Testing is a critical period of any venture and requires noteworthy support by the end client. It additionally guarantees that the framework meets the practical prerequisites.
7.2.5 Test Cases
Case 1: Invalid search keyword
Fig 7.2.5.1 Invalid search keyword entered
Case 2: Username or password is invalid
Fig 7.2..5.2 When username or password is invalid
Case 3: Username already taken
Fig 7.2.5.3 username already present
Case 4: Username and Password is required
Fig 7.2.5.4 Username and Password is required
Chapter 8
Output Screens
Fig 8.1 Home Screen
Fig 8.2 About us screen
Fig 8.3 Search Results Screen
Fig 8.4 Multiple Search Results Screen
Fig 8.5 Drug Overview Screen
Fig 8.6 Drug Side effects Screen
Fig 8.7 Drug Dosage Screen
Fig 8.8 Drug Interactions Screen
Fig 8.9 Related Drugs Screen
Fig 8.10 Pharmacy Locator
Fig 8.11 Login Screen for pharmacies
Fig 8.12 Register Screen for pharmacies
Fig 8.13 Logged in Screen for Pharmacies
Fig 8.14 Adding a New Drug for the Pharmacy Location Screen
Chapter 9
Conclusion And Future Scope
9.1 Conclusion
The medicines availability application has been successfully designed and implemented in providing complete information about drugs available in India hence improving consumer safety by assisting in reduction of medication errors.The users shall find our application easy to use as it provides the convenience of locating the pharmacies with the drug needed.This application also serves as a medium of contact between the pharmacies and the consumers. With the availability of google maps, the users can find a pharmacy at their preferred location.In conclusion,this application aims to bridge the gap between the pharmacies and the user at the same time making the latter aware of the drug that he is using.
9.2 Future Scope
It is not possible to develop a system that makes all the requirements of the user. User requirements keep changing as the system is being used. Some of the future enhancements that can be done to this system are:
- Support for Linux Environment
- Addition of newer text mining algorithms
- Solve the problem of modality of Windows of the application
- Make the application more robust and appealing to the eye
- To give the option of saving similarity values not only as an Excel Sheet but also in other formats like CSV, .txt and give the option of saving files under a user defined name.
- Implement other graphing techniques apart from the column based chart sheet that we’ve implemented.
Bibliography
- https://www.wikiwand.com/en/Data_mining
- https://en.wikipedia.org/wiki/Text_mining
- Grigori Sidorov, Alexander Gelbukh, Helena Gomez-Adorno, and David Pinto “Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model” Computación y Sistemas Vol. 18, No. 3, 2014 pp. 491–504
- http://blog.christianperone.com/2013/09/machine-learning-cosine-similarity-for-vector-space-models-part-iii/
- https://www.wikiwand.com/en/Jaccard_index
- Suphakit Niwattanakul, Jatsada Singthongchai, Ekkachai Naenudorn and Supachanun Wanapu “Using of Jaccard Coefficient for Keywords Similarity” Proceedings of the International Multi Conference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13 – 15, 2013, Hong Kong
- CS 6955 Data Mining; Spring 2013 Instructor: Jeff M. Phillips, University of Utah “https://www.cs.utah.edu/~jeffp/teaching/cs5955/L4-Jaccard+Shingle.pdf”
- https://www.wikiwand.com/en/Euclidean_distance
- The Technical Whitepaper Series 6 – Eucledian Distance, Raw, Normalized and Double Scaled Coefficients, pbarrett.net Advanced Projects R&D “http://www.pbarrett.net/techpapers/euclid.pdf”
[10] https://www.wikiwand.com/en/N-gram
[11] William B. Cavnar and John M. Trenkle “N-Gram-Based Text Categorization”, Environmental Research Institute of Michigan
[12] Dr. T.V. Rajini Kanth, G. Suresh Reddy, Dr. A. Ananada Rao, “Text Clustering Using Frequent Patterns and Jaccard Dissimilarity Function” 2nd International Conference on 5 Advanced Computing methodologies ICACM-2013, 02-03 Aug 2013, Elsevier Publications
[13] W.H. Gomaa and Aly A. Fahmy “A Survey of Text Similarity Approaches” International Journal of Computer Applications (0975 – 8887) Volume 68– No.13, April 2013
[14] https://www.wikiwand.com/en/Java_(programming_language)