













































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
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
1 / 53
This page cannot be seen from the preview
Don't miss anything!
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
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:
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.
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
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.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.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.
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.