GithubHelp home page GithubHelp logo

data-visualization-based-on-yelp's Introduction

Data Visualization Final Report

Data Visualization, Group D

Jiayi Wang([email protected])
ENGN2912B Fall18 S01 Scientific Programming in C++, Date Submitted: Dec, 2018

Project Overview

In this project, the final goal is to visualize a map showing businesses like shops and restaurants near a location, based on academic data from yelp website.

The project could be briefly divided into 3 parts, setting up the database, building the interface of C++ with database and data visualization using C++ and Qt.

Goals and Objectives

For this project, the goal is to develop a new approach for users to look up information about businesses in the certain area, Providence, in this case. To further explain, this application will be able to achieve the following goals.

First, the user can look up business data by name or type. Second, the user is able to sort the local businesses by their opening status to see if they are open or not under a certain time period. Third, the user can simply type in their location data and range they want to search and then all businesses within this area will show up. The result number and rank are also decided by the user.

  • Objective 1: Data query and parsing.

  • Objective 2: Setting up background.

  • Objective 3: Getting input data.

  • Objective 4: Displaying data.

Software Architectural Design

  • Required External Libraries

      QCustomplot
      sqlite3
    
  • Functional Block Diagrams

  • Data Flow Diagrams

  • UML Diagrams showing Object Definition/Inheritance

Interface Descriptions

  • Graphical Interface

  • Data Visualization

  • Exception Handling

    -- Out of boundary

    If there are some restaurant that are out of boundary and cannot be displayed on the map, the team will use a pop-up window to display "out of range" error message.

    --No result

    If there is no result in given search criteria, the team will use a pop-up window to display "0 result found" error message.

Testing and Evaluation

  • Operating system(s) and software compiler/library version(s) tested

The team have tested the program under several operating environment, here are the lists:

Microsoft Windows 10, i7-8550U, Qt Creator 4.8.0 based on Qt 5.12.0 (MSVC 2015, 32 bit).

Apple mac OS X, i5-7267U, Qt Creator 4.8.0 based on Qt 5.12.0 (Clang 10.0 (Apple), 64 bit).

Apple mac OS X, i5-7360U, Qt Creator 4.8.0 based on Qt 5.12.0 (Clang 10.0 (Apple), 64 bit).

Apple mac OS X, i5-5257U, Qt Creator 4.8.0 based on Qt 5.12.0 (Clang 10.0 (Apple), 64 bit).
  • Description of functional testing to date

    Convert: (all with DB Browser for SQLite)

    checking total number of records and types of records attributes 11/27

    checking types of records attributes 11/27

    randomly choosing 5 records and compare its values 11/27

    Filter:

    checking name input with empty string and not empty string name 12/10

    checking open status to be open and not matter 12/10

    checking sort status to be distance, review_count and stars 12/16

    Mainwindow:

    taking integer input and display it 12/7

    Linking qcustomplot and Mainwindow:

    take integer input and plot a curve 12/7

    Linking Mainwindow and filter and qcustomplot:

    no business through output 12/14

    current location outside of map 12/14

    zero result count input 12/14

    business outside of map 12/14

    migrate all files to another machine 12/16

  • Instructions for compiling and running the software

    Download project file from github -> open Qt Creator -> open project file "team_final.pro" -> under Project Tab, uncheck "Shadow build" -> run the program

Conclusions

During the past month, I built a functional data visualization project based on Yelp database. According to user input including business name/type, user location and range, the system displays the business names and locations on the map. The initial goal was to search specific business name or tag in Providence, to search all businesses around a location and to search open businesses, sorted by hard coded rank, then display business information. During implementation, I changed my goal to search a specific business name/tag or all businesses around a location whether open or doesn’t matter, sorted by customized rank, which makes more sense to customer needs. I also noticed if all information is displayed, the GUI layout would be in a mess. Therefore, I decided to only display locations and names. I have achieved all of the initial goals and objectives and did better.

Future Work

--Get user’s location through GPS
--Promote the application to the range of US
--Change the plot point to button that can show the whole information of the business

data-visualization-based-on-yelp's People

Contributors

jayyy2018 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.