www.haegi.org

www.haegi.org

Web Applications

Here you find my developed Web Applications

  • 19. February 2023

    |

    Projects » Web Applications

    Life-Tracking Enhancements

    I always try to improve my web application to track different parts of my life. In the meantime the following features are currently available:

    General

    • 2-Factor Authentication
    • Application passwords for API calls
    • individual mobile favorites
    • Progressive Web App with Push Notifications and offline support
    • email notifications

    Frontpage

    • Frontpage with widgets for different modules
    • Possibility to individualize the frontpage with selected modules

    Location History

    • Manual add locations
    • Automatic locations with API
    • Store location information on finance entries, car refuel entries
    • Possibility to show clusters and filter by date
    • Store and show steps

    Finances

    • Store income/expenses
    • Create categories
    • Automatically assign categories to new finance entries by name/value
    • Automatically create recurring finance entries
    • Manage paymethods
    • Manage monthly finance budget
    • Various statistics (including monthly report)
    • Manage finance accounts and map paymethods to accounts
    • Automatically create transactions on accounts based on paymethods

    Cars

    • Manage refuel and service
    • Calculate fuel consumption
    • Manage service life and km/year

    Boards

    • Kanban like boards with stacks and cards, labels,..

    Crawlers

    • Automatically create lists by API calls
    • Individual column profiles per crawler
    • Filter and search datasets
    • Star entries

    Splitted Bills

    • Manage finances in groups
    • Support for foreign currencies
    • Support to make settle up entries
    • Automatically create recurring splitted bills

    Trips

    • Manage trip planning
    • Add events, driving, bookings,..
    • Route planing

    Timesheets

    • Manage projectspecific start/end times
    • Differentiate between project- and day-based times
    • Fast creation of times
    • Assign timesheets to categories
    • Assign a budget to categories
    • Export to Excel/Word
    • Support for client side encrypted notices with individual fields

    Workouts

    • Manage exercises
    • Manage workouts planing
    • Create training sessions
    • Various statistics

    Recipes

    • Manage recipes with ingredients
    • Add recipes to cookbooks
    • Manage mealplans
    • Create shoppinglists and add items to shoppinglist
  • 12. August 2019

    |

    Projects » Web Applications

    JSTable

    While removing the jQuery dependencies from the Life-Tracking Dashboard I didn’t find a satisfying replacement for the jQuery datatables plugin with server side rendering.

    Vanilla-DataTables was unfortunately not able to do server-side rendering to I did a custom implementation using the in ES6 introduced classes.

    You can find the resulting project JSTable on github and more information about the usage on https://www.haegi.org/jstable/

  • 12. August 2019

    |

    Projects » Web Applications

    Life-Tracking improvements

    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:

  • 14. June 2018

    |

    Projects » Web Applications

    Kanban project management boards

    Inspired by trello and the open source alternative wekan I added some functionallity to support kanban-like boards in my life-tracking application.
    I got also some inspiration by the deck plugin of nextcloud and github project boards.

    Whith the boards module users can create boards and add other users to the board. In the board view it is possible to create different stacks and add cards to the stacks.
    Users can add labels with colors to the board. Users, labels, due dates and descriptions can be assigned to cards.
    The description can contain simple markdown which is rendered with simpleMDE.

    Users can subscribe to daily reminder mails for due cards.

  • 30. November 2017

    |

    Projects » Web Applications

    Life Tracking Dashboard

    A long time ago I started to log my daily expenses and incomes in a Google Calc Sheet. Additionally I logged my cars fuel consumption in another sheet. To automate the process my Android App is able to communicate with my Raspberry Pi where a Python script insert the neccessarry data into the Sheet.

    For better statistics and less dependency to Google I developed a small Life-Tracking dashboard where I can log my expenses, income and my cars fuel consumption. Additionally I created an endpoint to log my location with tasker.

    You can find the project over on github.

    Features

    • track your location with tasker
      • inspired by http://williamsgodfrey.com/using-tasker-to-record-the-location-an-android-device-part-1/ and http://karlherrick.com/2014/02/13/tracking-with-tasker/
    • track your income and spendings
    • manage income/spendings categories
    • automatically add monthly income/spendings (cron required)
    • track your fuel consumption
    • income/spendings and fuel statistics
    • multi-language support
    • multi-user support

    Screenshots

    Location history overview
    Location history filter
    Finances overview
    Add finances
    Finance categories
    Add finance category
    Regular finance entries
    Add regular finance entry
    Fuel overview
    Add fuel entry
    Fuel consumption
    Users overview
    Add user
    Change password
    Finance statistics per year
    Finance statistics per month
    Finance statistics per category
    Finance statistics detail
    Mail test
    Monthly statistics mail
    Tasker trigger
    Tasker action
    Taster HTTP Post action
  • GitHub
  • Xing
  • Impressum
  • Datenschutz