CET333 Product Development assignment. A web-based analytical dashboard analysing simulated web server log data from a proposed online broadcast platform.
The City of Payris intends to provide an online broadcasting platform that is accessible to worldwide audiences, allowing them to view the Payris 2024 FunOlympic Games. To achieve this, the city invested heavily in IT infrastructure and systems to ensure that the Games are successful. In preparation for the Games, the client is requesting the development of analysis tools to analyse simulated web server log data that mimics the data that would be generated by the broadcast platform when the Games are running. The client hopes to strengthen their marketing and advertising strategies during the Games with the assistance of these analysis tools.
- dashboard.Rmd: contains the dashboard code script.
- data.R: contains the R script used to generate the web server logs.
- log_data.csv: contains the web server logs.
The dashboard reads web server log data stored in an Excel CSV file, which is saved within the R project directory. The web server logs should be in the format specified in the data dictionary below.
Variable | Data Type | Description |
---|---|---|
time | Time | Time of request (HH:MM:SS), 24-hour notation |
ip_address | Number | User IP address (e.g., 126.110.45.219) |
request_method | Text | HTTP request method (e.g., GET, POST) |
path | Text | URL path (e.g., /football.php) |
status_code | Number | HTTP status code (e.g., 200, 404) |
country | Text | Country of origin |
continent | Text | Continent of origin |
gender | Text | Gender |
age | Number | Age |
The development of the dashboard was completed using the following hardware resources:
- ASUS VivoBook M515DA Notebook
- 8GB RAM
- 256GB SSD
- AMD Ryzen 3 3250U @2.60GHz CPU
The development of the dashboard was completed using the following software resources:
- R 4.3.2 – programming language used for dashboard development.
- RStudio 2023.12.1 – integrated development environment (IDE) for R.
- Visual Paradigm Community Editon 17.1 – for producing UML diagrams.
- Draw.io 24.2.5 – for producing wireframe mockup designs.
The dashboard was developed using the R programming language, specifically version 4.3.2 which was the latest stable version at the time of development. The following packages were installed and used during development:
- shiny – for building the interactive web application and enabling reactive elements.
- flexdashboard – for creating the interactive dashboard.
- tidyverse – for data processing and manipulation.
- lubridate – for date-time processing and manipulation.
- plotly – for creating interactive data visualizations.
- DT – for rendering the data as HTML tables using the JavaScript library 'DataTables'.
- readr – for efficiently reading the CSV data.
- renv – for dependency management.
The dashboard was developed on a computer running on Windows 11 Pro, which is the latest stable version of the Windows operating system at the time of development. It is also compatible with MacOS and Linux.
- Download and install R (https://cran.rstudio.com/) and RStudio (https://posit.co/download/rstudio-desktop/) on your local machine.
- Install the renv package using the
install.packages("renv")
command in the R console. - Clone the repository.
- Open RStudio and open the R project containing the dashboard.
- Activate renv by running the
renv::activate()
command in the R console. - Install the required dependencies by running the
renv::restore()
command in the R console.
- Ensure that the current working directory is the root of the R Project.
- Run the dashboard locally by using the
rmarkdown::run("dashboard.Rmd")
command in the R console, where “dashboard.Rmd” is the name of the R Markdown file containing the dashboard code script. Alternatively, you can click the “Run Document” button to run the dashboard.
- Once the app is running, a local server will start and a URL will be provided in the R console.
- RStudio will open a new window that renders the dashboard, or the dashboard can be accessed in a web browser by navigating to the URL provided in the R console.