- General
- Module: Location History
- Module: Finances
- Module: Cars
- Module: Boards
- Module: Crawlers
- Module: Splitted Bills
- Module: Trips
- Module: Timesheets
- Module: Workouts
- Module: Recipes
- Special Admin Functions
Login is done with your username and password. The "Code" is for two-factor authentication and only needs to be provided if it has been activated.
After logging in, the default home page is displayed. The home page can be customized with widgets.
To do this, click your username in the menu and then select "Home".
On this page different widgets can be added. If a widget requires additional input, it must be entered in the corresponding window.
Widgets can be moved by clicking on the title and dragging. Settings can be adjusted or the widget removed via the icons.
By clicking your username, you can edit your profile and assign different modules.
In the menu are additional menu entries available to: change your password, set a profile picture, enable two-factor authentication, view logged-in clients (login tokens), and see your activity history.
Application passwords are required to allow apps to access specific functions automatically.
These functions include:
- Recording location history
- Transferring crawler data
- Triggering notifications for specific categories
Application passwords must be created individually, and login must then be done using the username and the application password.
The application can be installed as a Progressive Web App (PWA) on supported devices.
For example, in Chrome on Android, this can be done via the menu under "Install App" or through the banner "Add App to Home Screen."
Through the profile settings (Start URL), you can specify which subpage should open when launching the Progressive Web App. This allows you to set a frequently used page as the start page.
The page must be specified without the domain name, for example /finances for the overview page of the finances module.
In addition to the Start URL, mobile favorites can be set.
In the mobile view, the icons in the navigation bar can be customized individually.
The order is determined by the numerical position. The icon must correspond to the name of a Fontawesome icon (https://fontawesome.com/icons?d=gallery&m=free). The URL should be specified relative to the domain, similar to the Start URL.
The example clock icon (fas fa-clock) can be found here.
It is possible to receive email notifications for various events. Additionally, notifications can be subscribed to for different actions within the site and for individual notification categories.
All events can be subscribed to as notifications within the website and/or as push notifications.
Internal notifications can be accessed via the bell icon in the menu and are automatically marked as read once the page is opened.
Push notifications must be supported by the browser being used and can then be subscribed to directly.
If a device does not support web push notifications (e.g., iOS), the IFTTT app can be used as an alternative for notifications.
To do this, an IFTTT account must be created and the IFTTT app installed on the device. Then, the "Webhooks" service must be activated and a new applet created.
The webhook URL for the created applet must then be entered into the corresponding field on the website.
The Location History module allows all recorded locations to be displayed. Locations can be filtered by date.
Additionally, various filters (on the right-hand side) can be applied:
- Show locations clustered
- Show general locations
- Show locations related to finance entries
- Show locations related to cars
- Connect general locations with lines based on the date
It is possible to record general locations either manually or automatically.
To add a location manually, select "Add Location" in the menu. Then the location can be specified.
It is possible to regularly transmit various data to the web application automatically.
At a minimum, the location must be transmitted as a comma-separated list with latitude and longitude as the value gps_loc:
curl --request POST \
--data 'gps_loc=10,20' \
http://<user>:<password>@<domain>/api/location/record
Using the Android app "Tasker," location data and step counts can be automatically transmitted to the web application on a regular basis.
For example, the following profiles can be used:
Profil: Schritte (14)
Ereignis: Ausgeführte Schritte [ Nummer:1 ]
Eingang: Schritte (23)
A1: Variable Setzen [ Name:%STEPS Zu:%evtprm1 Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
Profil: Schritte zurücksetzen (21)
Variables: [ ]
Zeit: 00:00
Eingang: Schritte Reset (22)
A1: Profil Status [ Name:Schritte setzen:Aus ]
A2: Profil Status [ Name:Schritte setzen:An ]
A3: Variable Setzen [ Name:%STEPS Zu:0 Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
Profil: Standort erfassen (2)
Zeit: Jede 30m
Eingang: Standort senden 2 (19)
A1: If [ %TIMES > %LASTLOC+600 ]
A2: Get Location v2 [ Timeout (Sekunden):20 Minimum Accuracy (meters): Speed (meters/second): Altitude (meters): Near Location: Enable Location If Needed:Aus Last Location If Timeout:Aus Min Speed Accuracy (m/s): ]
A3: 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:my-username Password:my-application-password ]
A4: HTTP Request [ Method:POST URL:my-url/api/location/record Headers:%http_auth_headers Query Parameters: Body:{
"identifier":"my-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":"%gl_coordinates",
"gps_acc":"%gl_coordinates_accuracy",
"gps_alt":"%gl_altitude",
"gps_alt_acc":"%gl_altitude_accuracy",
"gps_spd":"%gl_speed",
"gps_spd_acc":"%gl_speed_accuracy",
"gps_bearing":"%gl_bearing",
"gps_bearing_acc":"%gl_bearing_accuracy",
"gps_tms":"%gl_time_seconds",
"cell_id":"%CELLID",
"cell_sig":"%CELLSIG",
"cell_srv":"%CELLSRV",
"steps":"%STEPS"
} File To Send: File/Directory To Save With Output: Timeout (Sekunden):10 Trust Any Certificate:Aus Automatically Follow Redirects:Aus Use Cookies:Aus ]
A5: If [ %http_response_code = 200 ]
A6: Variable Setzen [ Name:%LASTLOC Zu:%TIMES Recurse Variables:Aus Mathematisch:Aus Hinzufügen:Aus Max Rounding Digits:3 ]
A7: Else
A8: Benachrichtigung [ Titel:Response %http_response_code Text:%http_data Icon:null Nummer:0 Dauerhaft:Aus Priorität:3 Repeat Alert:Aus LED Colour:Lila LED Rate:0 Sound Datei: Vibration Pattern: Category:test ]
When steps are automatically transmitted, a statistics overview can be displayed. It is also possible to manually adjust the number of steps per day.
The finance Module allows you to manage income and expenses. It is possible to record both income and expenses.
A finance entry can be assigned to a category. The available categories can be customized individually.
The default category is automatically preselected when creating a new finance entry.
Categories can also be automatically assigned to a finance entry based on its name and amount.
Various rules can be defined to determine when a specific category should be assigned to a finance entry.
Recurring income or expenses can be automatically created.
To do this, the finance entries, start/end dates, and intervals (every X days/weeks/months/years) must be defined.
Every day at 6:00, the due finance entries are automatically added.
Individual finance entries can be assigned paymethods.
The default paymethod is automatically preselected when creating a finance entry.
Additionally, "round up savings" can be activated. In this case, the amount entered with this paymethod is rounded up to the next 1€/5€, and the difference is credited as a balance to the assigned account.
Paymethods are assigned to accounts. When creating a finance entry, a corresponding transaction is automatically posted to the account associated with the selected paymethod.
It is also possible to set up recurring transactions
A monthly budget can be set for different categories.
To do this, a description and the associated categories must be selected. All expenses in other categories are assigned to the "remaining" budget (name can be changed).
Individual budget entries can also be hidden from the overall overview.
The monthly budget and the current status within the month can then be displayed in the overview.
The budget is always shown when creating or updating a finance entry.
The current budget is always calculated temporarily and is therefore only available for the current month.
In the finance module, different statistics can be accessed.
An overall overview of finances for all years can be viewed directly.
By clicking on the chart icon, details of the finance entries for a specific year can be displayed.
Within a year, clicking on the value of the income or expenses for a specific month will display a detailed overview for that month.
Within the income or expenses of a month, an overview of the finance entries for each category can be displayed by clicking the chart icon.
The overview of income and expenses for a year can be displayed in the yearly overview by clicking on the income or expense value of that year.
The overview of the categories of finance entries for a year can be displayed by clicking on the chart icon.
It is possible to receive a monthly statistic of the finance entries (income and expenses) from the previous month. This email is sent automatically on the 1st of each month at 8:00.
In the Cars module, refills and service can be recorded, and various statistics can be displayed.
Available cars can be individually defined and shared with other users, allowing multiple users to record data for the same car.
For mileage calculation, you can set the possible kilometers per year, the duration, the start date for calculating the currently available kilometers, and the starting odometer reading.
After refueling, the data can be recorded. If "Calculate fuel consumption" is selected, the fuel consumption since the last full tank will be calculated automatically.
Services can also be recorded for documentation purposes. This includes tracking the oil level, windshield washer fluid, and tire pressure. Additionally, it can be documented whether a repair shop visit or a tire change has taken place.
The fuel consumption trend can be displayed graphically.
Additionally, the mileage for leased or financed cars can be shown.
Based on the last recorded odometer reading (refill or service), the start date of the lease/finance period, the duration in years, and the starting mileage, the current maximum allowable mileage is calculated and displayed.
The Boards module allows tasks to be managed using the "Kanban" method.
Multiple users can be invited to boards.
Within a board, stacks with cards can be created. Individual cards can be assigned labels and users. Additionally, due dates and descriptions can be added.
Cards and stacks can be deleted or archived.
The Crawlers module allows you to create and populate your own lists automatically. This can be used, for example, to automatically retrieve information from websites (crawling).
The displayed data can be filtered by retrieval date. Additionally, it can be set to show only new data (based on the retrieval date) or all information (based on both the retrieval and update dates).
By clicking on the star, entries can be added to the watchlist. The watchlist stores all marked entries.
To display information as lists, a crawler must be created. A default filter can be set during this process.
A new record can be added via the web API as follows:
curl --header "Content-Type: application/json" \
--request POST \
--data '{"crawler": "<hash>", "identifier":"offer1", "data":{"name":"job offer 1", "company":"company 2", "pay":50000, "url":"http://www.google.com"}}' \
http://<user>:<password>@<domain>/api/crawlers/record
You need to provide the crawler's hash, a unique identifier for the record to determine whether it is a new record or an update, and the data fields. The data can contain multiple fields (in this example: name, company, pay, and url).
The individual columns of a table can be set for each crawler. You need to define the header text and which data field of a record should be displayed in the column (field name). Additionally, a data field can be set for linking. This is useful, for example, in the example above: the field name can be set as the field name and the field url as the link field.
It is also possible to set static content via field content.
The position specifies the column's position within the table, and the "sortable" option defines whether the column can be sorted. The data type of the column can be set for sorting purposes.
Within a crawler, it is also possible to define the initial sorting (ascending or descending) for at most one column. The table will then be sorted by this column when loaded.
If a column should contain the original value before an update, this can be selected via the corresponding checkbox. In this column, only updated records will display the previous value. For example, two columns for the field price can be set to see price changes. Note that only the immediately previous value is stored; changes over a longer period cannot be displayed.
Prefixes and suffixes can be applied using prefix and suffix. For example, the currency can be added after a value.
Below the list, links for quick access can also be created. A maximum of two levels can be displayed.
In the Splitted Bills module, various expenses that are shared with other users or paid by other users can be recorded.
Within the group, the expenses are then settled.
A splitted bill always has one or more users who have paid something and one or more users who have to bear a share of the costs (spent).
Debts can also be recorded as settled.
It is also possible to create a group for sharing expenses abroad. For this, a foreign currency, an exchange rate, and a fee (in percent) can be specified.
As with user-specific finance entries, it is also possible to set up recurring expenses for groups with splitted bills.
In the Trips module, travel plans can be recorded and displayed on a map.
In the Timesheets module, project-specific start and end times can be recorded. A distinction can be made between project-based (start/end) and day-based (clock-in/clock-out) tracking.
Timesheet entries can be marked as calculated, paid, or planned. Additionally, when creating or updating timesheet entries, they can be set up as a series.
Timesheet entries can be assigned to individual customers. Customers can be archived, which hides them from the selection list. Additionally, background and text colors can be set for the calendar view.
With Fast Creation of Times, the current time can be recorded as start or end with a single click.
If the link to this page is set as the start URL or as a mobile favorite, the start or end time can be recorded very quickly.
Recorded times can additionally be assigned to categories.
Project budgets can be defined for individual projects. Corresponding categories are assigned to each budget. When a new timesheet entry is recorded and the same (or more) categories are assigned, this timesheet entry is added to the budget.
The project budget can be calculated based on the total time, the modified time, or the number of assigned timesheet entries. Multiple budgets can be grouped using the main category. Additionally, three thresholds can be defined for color highlighting (yellow, orange, red).
It is possible to define types of requirements that have a specific validity period.
For customers, it can then be recorded whether the corresponding requirement has been fulfilled within the specified period.
It is possible to define different reminders after each entry, after the last entry of a day, or one hour after the last entry of a day. These can then be subscribed to for internal and push notifications.
For timesheet entries, customers, and timesheet projects, end-to-end encrypted (E2EE) notices and files can be stored. These data never leave the device unencrypted and are only received and stored by the server in encrypted form.
To use notices, a password must first be set for the timesheet project.
The password can also be changed later.
If the password is forgotten, the recovery key can be used to reset the password.
If both the password is forgotten and the recovery key has not been saved, no data can be recovered!
Before notices can be added or accessed, the password must be entered. This password is temporarily stored in the browser.
Notices can be entered either in a generic text field or in individually configurable fields.
The freely configurable fields can be set as a text field, text area, dropdown, or HTML.
Notices can then be saved for timesheet entries and customers.
For projects, currently only the special "legend" field of the project is displayed in the calendar view.
In the calendar view, events can be displayed in a month, week, or day view, or as a list. The main hours and hideable weekdays (week and day view only) can be set per project.
Clicking on the calendar allows a new event to be created. Clicking on an event opens a dialog with details. This includes a link to the notice of the customer and the timesheet entry, as well as options to edit the entry. An entry can be deleted directly, or for entries that are part of a series, this and subsequent entries can be deleted.
If background and text colors have been set for a customer, the entries are colored accordingly. Additionally, the encrypted legend is displayed below the calendar.
The last viewed view and date are saved for the next visit.
The recorded hours and notices can be exported in various formats.
Exporting to Excel provides an overview of the individual hours within the selected time period.
The HTML export allows viewing and exporting timesheet entries including encrypted notices. The notices can be exported to Word after decryption.
The customer overview provides a tabular view of all customers, including selected encrypted notices. This overview can be exported to Excel after decryption.
In the Workouts module, fitness training sessions can be created and managed.
When creating a training plan, exercises can be selected from the available list. The list can be searched and filtered by body area. The number of sets to be performed can be set at the bottom. By clicking the plus icon, the exercise is added to the training plan. Here, a notice and the number of sets can be specified.
Exercises can be removed from the training plan using the minus icon and reordered using the cross icon.
Additionally, training days and supersets can be defined.
By clicking on a training plan in the overview list, it can be viewed.
All available exercises can be viewed in the menu under "Exercises".
After selecting a workout plan, the sessions can be viewed and recorded.
If training days have been set in a workout plan, a day must be selected first. Then all exercises from the workout plan are displayed.
Individual exercises can be removed and rearranged. It is also possible to manually add exercises. For each exercise, the sets can be edited and a notice can be added.
During training, a workout session can be recorded interactively:
Under workout templates, predefined templates set by the administrator can be viewed and adopted as your own workout
Workout statistics can be displayed for the current plan or for all plans.
As an administrator, it is possible to modify and add various data.
It is possible to manage individual muscle groups and their images. There is a main image and, for each muscle, a primary and secondary image that can be overlaid on the main image (transparency).
In the Recipes module, recipes can be recorded and added to cookbooks or meal plans.
For the individual steps in recipes, ingredients can be assigned. These must be created first.
When creating or editing a recipe, individual steps must be created. Descriptions and ingredients can then be added to each step.
Cookbooks can be created as a collection of recipes. They can also be shared with other users.
In the recipe view, a recipe can be added to a cookbook.
If a recipe is accessed from the cookbook, it can be removed from the cookbook again.
It is possible to assign recipes and notices as a meal plan for individual weekdays.
Shopping lists can be used to record necessary ingredients, groceries, or other required purchases.
As an administrator, various additional functions within the web application can be viewed and managed.
- Overview of all stored logins
- Overview of blocked IP addresses (after three failed login attempts)
- Manage users
- Test push notifications
It is possible to define user-specific custom notification categories.
Notifications can be automatically sent to users who have subscribed to the corresponding category using the following call.
curl "http://<user>:<password>@<domain>/api/notifications/notify?type=test_notification_cat&title=Test%20title&message=Test%20message"