Since the last post several new features were added to the Life-Tracking dashboards:

Finances

Category Assignments

It is now possible to automatically assign categories to new finance entries.

Payment Methods

You can define and save different payment methods.

Budgets

It is possible to define individual budgets for one or multiple categories. The budget is valid for one month and generated dynamically. The budgets are checked when a new finance entry is added.

Crawlers

You can now define individual data tables which can be populated by sending JSON data to the dashboard. It is also possible to define which fields should be visible or sortable and how the individual fields are displayed.

Additionally it is possible to filter the data for one or multiple days.

A new dataset or an update for a existing dataset can be send like follows:

curl --header "Content-Type: application/json" \
  --request POST \
  --data '{"identifier":"offer1","data":{"name":"job offer 1", "company":"company 2", "pay":50000, "url":"http://www.google.com"}}' \
  http://<user>:<password>@<domain>/crawlers/<hash>/record/

Multiple Cars

The dashboard is now capable to support multiple cars.

Splitted Bills

Inspired by spliwise it is possible to share and split bills with other users. You can create groups of users and enable automatic finance entry generation. The expenses and payments can be splitted equally or by fixed values.

The individual balances for the each user is calculated immediately.

Trips

The trip module enables easy trip planing. You can create a new trip and add accomodations, transportation or events which are then displayed in a list and map view.

Location History

The location history module is improved so that you can set individual location points or trigger new points by a Tasker task.

Additionally all finance and car service entries are saved with the corresponding location. The location types are now clustered and can be hidden on the map.

Tasker task

A1: Standortsuche starten [ 
Quelle:Beide 
Timeout (Sekunden):10 
sofort mit Task fortfahren:Aus 
Standortsuche fortführen:Aus 
] 

A2: HTTP Auth [ 
Method:Username and Password 
Client ID: 
Client Secret: 
Endpoint To Get Code: 
Endpoint To Get Refresh Token: 
Scopes: 
Force Re-Authentication:Aus 
Timeout (Sekunden):30 
Username:<USERNAME> 
Password:<PASSWORD> 
] 

A3: HTTP Request [ 
Method:POST 
URL:https://<DOMAIN>/location/record 
Headers:%http_auth_headers 
Query Parameters: 
Body: {
"identifier":"<DEVICE>", 
"device":"%DEVID",
"date":"%DATE",
"time":"%TIME",
"batt":"%BATT",
"times":"%TIMES",
"wifi_state":"%WIFI",
"gps_state":"%GPS",
"mfield":"%MFIELD",
"screen_state":"%SCREEN",
"ups":"%UPS",
"gps_loc":"%LOC",
"gps_acc":"%LOCACC",
"gps_alt":"%LOCALT",
"gps_spd":"%LOCSPD",
"gps_tms":"%LOCTMS",
"net_loc":"%LOCN",
"net_acc":"%LOCNACC",
"net_tms":"%LOCNTMS",
"cell_id":"%CELLID",
"cell_sig":"%CELLSIG",
"cell_srv":"%CELLSRV"
}
File To Send: 
File To Save With Output: 
Timeout (Sekunden):10 
Trust Any Certificate:Aus 
]

PWA with Notifications

For a easy mobile application the dashboard is supporting a service worker with optional push notifications.

It is possible to send a push notification to the following endpoint:

curl "http://<user>:<password>@<domain>/notifications/notify?type=test11&title=Test%20title&message=Test%20message"

User Management

The individual modules can be made available for individual users: