Página de pruebas
- Try the App at: http://dashboard.sinfronteras.ws
- Github repository: https://github.com/adeloaleman/AmazonLaptopsDashboard
- An example of the data (JSON file) we have scraped from Amazon: Media:AmazonLaptopReviews.json
- 1 Introduction
- 2 Project rationale and business value
- 3 Development process
- 3.1 Back-end
- 3.2 Front-end
- 4 Cloud Deployment
- 5 Conclusion
- 6 References
When I started thinking about this project, the only clear point was that I wanted to work in Data Analysis using Python. I had already got some experience in this field in my final BSc in IT Degree project, working on a Supervised Machine Learning model for Fake News Detection. So, this time, I had some clearer ideas of the scope of data analysis and related fields and about the kind of project I was looking to work on. In addition to data analysis, I'm also interested in Web development. Therefore, in this project, along with Data Analysis, I was also looking to give important weight to web development. In this context, I got with the idea of developing a Web Dashboard for analyzing Amazon Laptop Reviews.
In a general sense, "a Data Dashboard is an information management tool that visually tracks, analyzes and displays key performance indicators (KPI), metrics and key data points to monitor the health of a business or specific process" . That is not a bad definition to describe the application we are building. We just need to highlight that our Dashboard displays information about Laptop sales data from Amazon (customer reviews, in particular).
We wanted to mention that the initial proposal was to develop a Dashboard for analyzing a wider range of products from Amazon (not only Laptops). However, because we had limited HR and time to accomplish this project, we were forced to reduce the scope of the application. This way, we were trying to make sure that we were going to be able to develop a functional Dashboard on the timeframe provided.
It is also important to highlight that the visual appeal of the application is being considered an essential aspect of the development process. We are aware that this is currently a very important feature of a web application so we are taking the necessary time to make sure we develop a Dashboard with visual appeal and decent web design.
Some examples of the kind of Application we are developing:
- This is a very similar application to the one we are building. Our initial requirements and prototype were based on some of the components shown in this application.
- This dashboard doesn't have a similar function to the dashboard we are building. However, it is a good example of the design and visual appeal of the application we aim to build.
At this point, a version 1.0 of the application has already been built and deployed. It is currently running for testing purposes at http://dashboard.sinfronteras.ws
You can also access the source code and download it from our Github repository at http://github.com/adeloaleman/AmazonLaptopsDashboard
The content of this report is organized in the following way:
- We start by giving some arguments that justify the business value of this kind of application. We understand that the scope of our Dashboard is limited because we are only considering Laptop data, but we try to explain in a broad sense, the advantage of analyzing retail sales data in order to enhance a commercial strategy.
- In the Development process Section, we will go through the different phases of the development process. The goal is to make clear the general architecture of the application, the technologies we have used and the reasons for the decisions made. Only some portions of the codes will be explained. We think there is no point in explaining all programming details of hundreds of lines of code.
- We finally describe the process followed to deploy the application in the cloud. In this chapter, we explain the current deployment architecture, in which the back-end and front-end are running in the same server, but we also address a three-tier architecture for high availability and strict security policies that has been designed for future cloud deployment of the Dashboard.
Project rationale and business value
Scraping data from Amazon
Loading the data
Data Preparation and Text pre–processing
Some main features about the front-end design
Brand selection, Series selection and Price panels
Avg. customer reviews vs. Prices panel
Customer reviews Word cloud and Word count bar chart
Modules under construction
- "What is a data dashboard?". Klipfolio.
- "Faction A - Sentiment Analysis Dashboard". Microsoft.
- "Shards dashboard - Demo". Designrevision.
- Ellingwood, Justin (May 2016). "How To Serve Flask Applications with Gunicorn and Nginx on Ubuntu 16.04". Digitalocean.
- "Failed to find application object 'server' in 'app'". Plotly community. 2018.
- Chesneau, Benoit. "Deploying Gunicorn". Gunicorn documentation.
- "Standalone WSGI Containers". Pallets documentation.
- "Deploying Dash Apps". Dash documentation.
- "Dropdown Examples and Reference". Dash documentation.
- Ka Hou, Sio (2019). "Bootstrap Navigation Bar". towardsdatascience.com.
- "4 Áreas con importantes datos por analizar". UCOM - Universidad comunera. 2019.
- "Bootstrap Navigation Bar". W3schools documentation.
- Carol Britton and Jill Doake (2005). "A Student Guide to Object-Oriented Development".
- "Official Scrapy website". Scrapy.
- "Scrapy 2.1 documentation". Scrapy documentation.
- "Scrapy". Wikipedia.
- "Web scraping". Wikipedia.
- "Dash for Beginners". Datacamp. 2019.
- "Introduction to Dash". Dash documentation.
- "Create Charts & Diagrams Online". Lucidchart.
- "Upcube dashboard - Demo". themesdesign.
- "W3.CSS Sidebar". W3schools documentation.
- "Sidebar code example". W3schools documentation.
- "Navbar". Bootstrap documentation.
- "Bubble Charts in Python". Plotly documentation.
- "Plotly Python Open Source Graphing Library". Plotly documentation.
- "Bar Charts in Python". Plotly documentation.