This project display a dashboard for data related to downloads of the mobile application for the company.
At Empatica we are developing a new system to accommodate the many Embrace users that will upload their physiological signals in our cloud architecture. Your task is to create a dashboard that can be used internally to show a real time overview of our mobile apps download.
- Create a folder
- Clone this repository in the folder
- Clone my homestead repository in the same folder
- Go to folder empatica-dev-vm and run
vagrant up --provision
- You can access the dashboard via http://dashboard.empatica.dev/
project
|
└───empatica-dev-vm
│ │ Vagrantfile
│ └───resources
│ │ ...
│
└───empatica
│ │ composer.json
│ └───app
│ │ ...
│ └───public
│ │ ...
│ └───db-dump
│ │ ...
│
GET REQUEST
Request to get download data via API
http://dashboard.empatica.dev/api/download
POST REQUEST
Request to add download entry data via API
http://dashboard.empatica.dev/api/download
Field | Type | Description |
---|---|---|
app_id | required; string (max:100) | Application id that has been downloaded |
latitude | required; string (max:100) | Latitude of the download entity |
longitude | required; string (max:100) | Longitude of the download entity |
Note: The above mentioned controllers are written using TDD.
The frontend is based on react js, the related files can be found at resources/assets/js
.
The dasboard offers 4 types of data analysis about the downloads.
- Downloads data
- Downloads peeks hours per app (live graph)
- Downloads by country (live graph)
- Overall apps popularity (live graph)
Note: Due to limit manageable for this task, I was not able to added more features to it.
app
|
└───Http
│ │
│ └───Controllers
│ │ ...
│ └───Requests
│ │ ...
│
└───Services
│ │
│ └───Dashboard
│ │ ...
│ └───Downloads
│ │ ...
│ └───MobileApp
│ │ ...
resources
|
└───assets
│ │ ...
│ └───js //react files
tests
| |
│ └───Feature
│