Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Web Analytics ( get easy analysis of websites ), Study Guides, Projects, Research of Software Engineering

This project is a Web analytics software which can be used for measurement, collection, analysis, reporting and visualization of user activity data for the purposes of understanding and optimizing web usage and application performance.

Typology: Study Guides, Projects, Research

2019/2020

Uploaded on 02/21/2020

ashik-patel
ashik-patel 🇮🇳

1 document

1 / 53

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
A
Project Report
On
WEB ANALYTICS
B. Tech. Semester VII
Prepared by
Parth Shah K. (IT-114)
Jaskumar Shah A. (IT-111)
DEPARTMENT OF INFORMATION TECHNOLOGY
FACULTY OF TECHNOLOGY
DHARMSINH DESAI UNIVERSITY
COLLEGE ROAD, NADIAD 387001
December, 2019
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35

Partial preview of the text

Download Web Analytics ( get easy analysis of websites ) and more Study Guides, Projects, Research Software Engineering in PDF only on Docsity!

A

Project Report

On

WEB ANALYTICS

B. Tech. – Semester VII

Prepared by

Parth Shah K. (IT-114)

Jaskumar Shah A. (IT-111)

DEPARTMENT OF INFORMATION TECHNOLOGY

FACULTY OF TECHNOLOGY

DHARMSINH DESAI UNIVERSITY

COLLEGE ROAD, NADIAD – 387001

December, 2019

A

Project Report

On

WEB ANALYTICS

In partial fulfillment of requirements for

System Design Practice

B. Tech., Semester VII

Submitted by:

1. Parth Shah K. (IT - 114)

2. Jaskumar Shah A. (IT - 111)

DEPARTMENT OF INFORMATION TECHNOLOGY

FACULTY OF TECHNOLOGY,

DHARMSINH DESAI UNIVERSITY,

COLLEGE ROAD, NADIAD -

DHARMSINH DESAI UNIVERSITY

NADIAD – 387001, GUJARAT

CERTIFICATE

This is to certify that the project carried out in the subject of Software Design Project, entitled “Web Analytics” and recorded in this report is a bonafide report of work of

**1) Parth Shah K. Roll No. IT-114 ID No: 16ITUOS

  1. Jaskumar Shah A. Roll No. IT-111 ID No: 16ITUOS**

Of Department of Information Technology, semester VII. They were involved in Project work during academic year 2019 - 2020.

Prof. Yogendra L. Patel, Assistant Professor, Department of Information Technology, Faculty of Technology, Dharmsinh Desai University, Nadiad Date:

Prof. (Dr.) Vipul K. Dabhi, Associate Professor and Head of Department, Department of Information Technology, Faculty of Technology, Dharmsinh Desai University, Nadiad. Date:

ACKNOWLEDGEMENT

We would like to express our profound gratitude to our project guide, Prof. Yogendra L. Patel, as well as our head of department, Prof. (Dr.) Vipul Dabhi, who gave us this resplendent opportunity to work on this project. Working on this project led us to research extensively in this field, which subsequently helped us grow our knowledge immensely. Furthermore, we also appreciate the assistant provided by numerous other faculty members of our department.

With Regards Parth Shah K. Jaskumar Shah A.

TABLE OF CONTENTS

LIST OF TABLES

LIST OF TABLES

Table 2.2.2 Project Plan Chart ..................................................................................... 16 Table 2.2.4 Roles and Responsibility .......................................................................... 17 Table 7.3 Test Cases .................................................................................................... 43

LIST OF FIGURES

  • ABSTRACT TABLE OF CONTENTS
  • TABLE OF CONTENTS
  • LIST OF TABLES
  • LIST OF FIGURES
  • 1 INTRODUCTION
    • 1.1 PROJECT DETAILS
    • 1.2 PURPOSE
    • 1.3 SCOPE
    • 1.4 OBJECTIVE..................................................................................................
    • 1.5 TECHNOLOGY AND LITERATURE REVIEW
      • 1.5.1 Python
      • 1.5.2 NodeJs
      • 1.5.3 MongoDB
      • 1.5.4 HTML / CSS / JavaScript
  • 2 PROJECT MANAGEMENT
    • 2.1 FEASIBILITY STUDY
      • 2.1.1 Technical Feasibility
      • 2.1.2 Time Schedule Feasibility......................................................................
      • 2.1.3 Operational Feasibility
      • 2.1.4 Implementation Feasibility
    • 2.2 PROJECT PLANNING.................................................................................
      • 2.2.1 Project Development Approach and Justification..................................
      • 2.2.2 Project Plan
      • 2.2.3 Milestones and Deliverables
      • 2.2.4 Roles and Responsibility........................................................................
  • 3 SYSTEM REQUIREMENTS STUDY................................................................
    • 3.1 STUDY OF CURRENT SYSTEM
    • 3.2 PROBLEMS AND WEAKNESSES OF CURRENT SYSTEM
    • 3.3 USER CHARACTERISTICS
    • 3.4 HARDWARE AND SOFTWARE REQUIREMENTS
      • 3.4.1 Hardware Requirements.........................................................................
      • 3.4.2 Software Requirements
    • 3.5 CONSTRAINTS
      • 3.5.1 Regulatory Policies TABLE OF CONTENTS
      • 3.5.2 Hardware Limitations
      • 3.5.3 Interfaces to Other Applications
      • 3.5.4 Parallel Operations
      • 3.5.5 Reliability Requirements
      • 3.5.6 Criticality of the Consideration
      • 3.5.7 Safety and Security Consideration
    • 3.6 ASSUMPTIONS AND DEPENDENCIES
  • 4 SYSTEM ANALYSIS
    • 4.1 REQUIREMENTS OF NEW SYSTEM
      • 4.1.1 User Requirements
      • 4.1.2 System Requirements.............................................................................
    • 4.2 FEATURES OF NEW SYSTEM..................................................................
    • 4.3 USE CASE DIAGRAM
  • 5 SYSTEM DESIGN
    • 5.1 SYSTEM ARCHITECTURE DESIGN
      • 5.1.1 Class Diagram
      • 5.1.2 Sequence Diagram
      • 5.1.3 Activity Diagram
      • 5.1.4 Component Diagram
      • 5.1.5 Deployment Diagram
    • 5.2 DATABASE DESIGN / DATA STRUCTURE DESIGN
      • 5.2.1 ER Diagram
  • 6 IMPLEMENTATION AND PLANNING
    • 6.1 IMPLEMENTATION ENVIRONMENT
    • 6.2 PROGRAM / MODULES SPECIFICATION
    • 6.3 CODING STANDARDS
  • 7 TESTING
    • 7.1 TESTING STRATEGY
      • 7.1.1 Unit Testing
      • 7.1.2 Sub System Testing................................................................................
      • 7.1.3 System Testing
      • 7.1.4 Acceptance Testing
    • 7.2 TESTING METHODS
      • 7.2.1 Black Box Testing..................................................................................
      • 7.2.2 White Box Testing TABLE OF CONTENTS
      • 7.2.3 Design of Test Cases
    • 7.3 TEST CASES
  • 8 USER MANUAL
    • 8.1 Screenshots
      • 8.1.1 Login Page
      • 8.1.2 Dashboard
      • 8.1.3 Events
      • 8.1.4 Installation..............................................................................................
      • 8.1.5 Assets
      • 8.1.6 Time Analysis
      • 8.1.7 Element Association
      • 8.1.8 Browser Information
      • 8.1.9 Device Information
      • 8.1.10 Regional Information
      • 8.1.11 Page Impressions
      • 8.1.12 Component Association
      • 8.1.13 Event Time
      • 8.1.14 Event Elements
  • 9 LIMITATIONS AND FUTURE ENHANCEMENT
    • 9.1 LIMITATIONS
    • 9.2 FUTURE ENHANCEMENT
  • 10 CONCLUSION AND DISCUSSION
    • 10.1 CONCLUSIONS AND FUTURE ENHANCEMENT..............................
    • 10.2 DISCUSSION
      • 10.2.1 Self-Analysis of Project Viabilities
      • 10.2.2 Problem Encountered and Possible Solution
      • 10.2.3 Summary of Project Work
  • REFERENCES
  • Fig. 4.3.1 Use Case Diagram LIST OF FIGURES
  • Fig. 5.1.1 Class Diagram..............................................................................................
  • Fig. 5.1.2.1 Sequence Diagram for adding Asset
  • Fig. 5.1.2.2 Sequence Diagram for adding Event
  • Fig. 5.1.2.3 Sequence Diagram for Visualising Data
  • Fig. 5.1.2.4 Sequence Diagram for Tracking Web Traffic
  • Fig. 5.1.3.1 Activity Diagram for Login
  • Fig. 5.1.3.2 Activity Diagram for Adding Asset..........................................................
  • Fig. 5.1.3.3 Activity Diagram for Adding Event
  • Fig. 5.1.3.4 Activity Diagram for Data Collection
  • Fig. 5.1.4 Component Diagram....................................................................................
  • Fig. 5.1.5 Deployment Diagram
  • Fig 5.2.1 E-R Diagram
  • Fig. 7.1.1 Types of Testing
  • Fig. 8.1.1 Login Page
  • Fig. 8.1.2 Dashboard
  • Fig. 8.1.3 Events
  • Fig. 8.1.4 Installation
  • Fig. 8.1.5 Assets
  • Fig. 8.1.6 Time Analysis
  • Fig. 8.1.7 Element Association
  • Fig. 8.1.8 Browser Information....................................................................................
  • Fig. 8.1.9 Device Information
  • Fig. 8.1.10 Regional Information
  • Fig. 8.1.11 Page Impressions
  • Fig. 8.1.12 Component Association
  • Fig. 8.1.13 Event Time
  • Fig. 8.1.14 Event Elements

INTRODUCTION

interpreted language, Python has a design philosophy that emphasizes code readability (notably using whitespace indentation to delimit code blocks rather than curly brackets or keywords), and a syntax that allows programmers to express concepts in fewer lines of code than might be used in languages such as C++ or Java.

The language provides constructs intended to enable writing clear programs on both a small and large scale. Python features a dynamic type system and automatic memory management and supports multiple programming paradigms, including object oriented, imperative, functional programming, and procedural styles. It has a large and comprehensive standard library. Python interpreters are available for many operating systems, allowing Python code to run on a wide variety of systems. CPython, the reference implementation of Python, is open source software and has a community-based development model, as do nearly all of its variant implementations. CPython is managed by the non-profit Python Software Foundation.

1.5.2 NodeJs

Node.js is a platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node.js uses an event-driven, non- blocking I/O model that makes it lightweight and efficient, perfect for data- intensive real-time applications that run across distributed devices. Node.js is an open source, cross-platform runtime environment for developing server-side and networking applications. Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.

Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js to a great extent.

1.5.3 MongoDB

MongoDB is a document-oriented NoSQL database used for high volume data storage. MongoDB is a database which came into light around the mid-2000s. It falls under the category of a NoSQL database.

1.5.4 HTML / CSS / JavaScript

HTML stands for Hyper Text Markup Language. HTML describes the structure of Web pages using markup. HTML elements are the building blocks of HTML pages. HTML elements are represented by tags.

INTRODUCTION

CSS stands for Cascading Style Sheets. CSS describes how HTML elements are to be displayed on screen, paper, or in other media. CSS saves a lot of work. It can control the layout of multiple web pages all at once. External stylesheets are stored in CSS files

JavaScript is a dynamic computer programming language. It is lightweight and most commonly used as a part of web pages, whose implementations allow client-side script to interact with the user and make dynamic pages. It is an interpreted programming language with object-oriented capabilities.

PROJECT MANAGEMENT

patterns in the web traffic. This issue can be solved using certain modules and libraries with Python programming language.

2.2 PROJECT PLANNING

2.2.1 Project Development Approach and Justification

We plan on taking a time-based approach to deliver this product on time. To begin with, we create a set of deadlines to complete certain tasks. This will give us a general idea on how to meet the final deadline on time. Furthermore, these tasks contain various independent division of the software, which can be tested individually. Thus, this will help us report our project in parts and test it as we move along.

2.2.2 Project Plan

The project plan is described in the table given below.

ID Task Start Date End Date Duration 1 Business Requirements 14/07/2019 23/07/2019 10 Days 2 Design 24/07/2019 14/08/2019 20 Days 3 Development 15/08/2019 05/09/2019 20 Days 4 Testing 06/09/2019 18/09/2019 12 Days 5 Maintenance 19/09/2019 30/09/2019 11 Days

Table 2.2.2 Project Plan Chart

2.2.3 Milestones and Deliverables

The tangible milestones includes the following –

 Creating the initial working model which can send and receive data from the client data to the server.  Create working GUI through which users can add assets dynamically.  Create working model to collect event data from the client website.

PROJECT MANAGEMENT

 Create API using Python which can mine collected data.  Test Python data mining API using Postman.  Create working model to send data from API to NodeJs system.  Design GUI for Dashboard and display raw data from the API.  Visualize data from API, on the dashboard using charts.  Integrate dashboard to dynamically load data and assets from the database and API.

2.2.4 Roles and Responsibility

The roles and responsibility for the development process is shown in the following table.

Name

Role Analysis Designing Coding Testing Documentation Maintenance Parth Shah ✓^ ✓^ ✓^ ✓^ ✓ Jaskumar Shah ✓^ ✓^ ✓^ ✓^ ✓

Table 2.2.4 Roles and Responsibility

SYSTEM REQUIREMENTS STUDY

3.4.2 Software Requirements

 Front End: Web Browser  Back End: MongoDB, NodeJs  Server: Node Server  IDE: Visual Studio Code, JuPyter Notebook

3.5 CONSTRAINTS

3.5.1 Regulatory Policies

Some regulatory policies that should be followed by the developers include – abiding to certain coding standards, following best practices, logging various milestones and crashes, commenting in the code appropriately, using version control system with its best practices.

3.5.2 Hardware Limitations

There are no specific hardware limitations, as long as the processing power and storage is available based on the application usage, the software is least likely to run into hardware issues.

3.5.3 Interfaces to Other Applications

The software connects itself with the client website through web sockets in NodeJs. Apart from that, there is no need of connections to third party applications.

3.5.4 Parallel Operations

Numerous parallel operations take place in the working of the software. When the client website is executed, several AJAX calls are made asynchronously, which are used for the collection of data. Furthermore, this entire process runs parallel to other assets of the same user and other assets of different users.

SYSTEM REQUIREMENTS STUDY

Secondly, when the user uses the dashboard, several data mining algorithms are executed parallelly, in order to simultaneously display the mining results.

3.5.5 Reliability Requirements

In order for the application to be reliable and accurate, hardware uptime is extremely important. If at any time the server is down, it may fail to collect the traffic data for the downtime. This may result into inaccurate data mining results since there is inconsistent data in the database. This will make the software unreliable and take away the entire purpose of the application.

3.5.6 Criticality of the Consideration

As per the known issues, there does not exist any problems with the system that can make the system so critical that it can affect the working software or the underlying hardware.

3.5.7 Safety and Security Consideration

The web traffic data collected, may contain some sensitive information of the user and the client website. If this data is stolen, it may put the user’s application in jeopardy. Thus, the data stored should undergo adequate amount of encryption and security measures.

3.6 ASSUMPTIONS AND DEPENDENCIES

Some known assumptions and dependencies are mentioned below –

 The web server and the database server works with perfect uptime.  All the users of the client website must have a web browser that support cookies and should allow its geo-location to be accessed.  The application user has some basic knowledge of certain data mining principles and algorithms.