Proof of concept GnuCash Webinterface

Overview

Proof of Concept GnuCash Webinterface

This may one day be a something truly great.

Milestones

  • [ ] Browse accounts and view transactions
  • [ ] Record simple transactions with a smartphone

Quickstart

pip install -r requirements.txt
export FLASK_ENV=development
flask run

Disclaimer

This is (currently) a personal project to play around and satisfy my own everyday needs and intellectual curiosity. Who knows what will become of it?

Comments
  • Getting quotes

    Getting quotes

    Add a CLI-command to get quotes for securities in the database.

    piecash claims to support that, but I haven't found out how.

    See: https://flask.palletsprojects.com/en/2.0.x/cli/#custom-commands

    enhancement backend 
    opened by joshuabach 1
  • AttributeError in update_prices

    AttributeError in update_prices

    Output of gnucash-web commodities update_prices on my uberspace on Wed, 28 Dec 2022 23:00:29 +0000:

    New price for L4K3.DE: €[email protected] -> €[email protected]
    Traceback (most recent call last):
      File "/home/joshua/gnucash_web/ENV/bin/gnucash-web", line 8, in <module>
        sys.exit(cli())
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1128, in __call__
        return self.main(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/flask/cli.py", line 600, in main
        return super().main(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1053, in main
        rv = self.invoke(ctx)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1659, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1659, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 1395, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/decorators.py", line 26, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/flask/cli.py", line 444, in decorator
        return __ctx.invoke(f, *args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/click/decorators.py", line 26, in new_func
        return f(get_current_context(), *args, **kwargs)
      File "/home/joshua/gnucash_web/ENV/lib64/python3.9/site-packages/gnucash_web/commodities.py", line 117, in update_prices
        f"Price for {commodity.menmonic}:"
    AttributeError: 'Commodity' object has no attribute 'menmonic'
    
    bug backend 
    opened by joshuabach 0
  • Navbar at bottom of screen on mobile

    Navbar at bottom of screen on mobile

    On one-handed touch devices such as smartphones, it is usually more ergonomic to have the navbar at the bottom of the screen, where the thumb usually rests.

    This is also the default for the URL bar on Firefox for Android.

    Possible solution ist to do the following below a certain Bootstrap breakpoint:

    • Set navbar to class="fixed-bottom"
    • Invert .scrolled-up and .scrolled-down CSS rules
    • Remove top padding on body
    enhancement frontend responsiveness 
    opened by joshuabach 0
  • Make entering of expenses more convenient

    Make entering of expenses more convenient

    Entering an expense (negative transaction value) could be more convenient, e.g. by having a "expense / income" checkbox or a small "invert" button.

    enhancement frontend cosmetic responsiveness 
    opened by joshuabach 0
  • How to store GnuCash database in SQL

    How to store GnuCash database in SQL

    We should add a quick explanation to the README on how to either create an empty book in an SQL database or how to migrate an existing GnuCash-XML-File into an SQL-server using the desktop client.

    documentation 
    opened by joshuabach 2
Releases(v0.0.1)
Owner
Josh
Josh
DirBruter is a Python based CLI tool. It looks for hidden or existing directories/files using brute force method. It basically works by launching a dictionary based attack against a webserver and analyse its response.

DirBruter DirBruter is a Python based CLI tool. It looks for hidden or existing directories/files using brute force method. It basically works by laun

vijay sahu 12 Dec 17, 2022
Infoga is a tool gathering email accounts informations (ip,hostname,country,...) from different public source

Infoga - Email OSINT Infoga is a tool gathering email accounts informations (ip,hostname,country,...) from different public source (search engines, pg

m4ll0k (mallok) 1.8k Jan 04, 2023
It is a very simple XSS simulator based on flask, python.

It is a very simple XSS simulator based on flask, python. The purpose of making this is for teaching the concept of XSS.

Satin Wuker 3 May 10, 2022
Buffer Overflow para SLmail5.5 32 bits

SLmail5.5-Exploit-BoF Buffer Overflow para SLmail5.5 32 bits con un par de utilidades para que puedas hacer el tuyo REQUISITOS PARA QUE FUNCIONE: Desa

Luis Javier 15 Jul 30, 2022
Red Team Toolkit is an Open-Source Django Offensive Web-App which is keeping the useful offensive tools used in the red-teaming together.

RedTeam Toolkit Note: Only legal activities should be conducted with this project. Red Team Toolkit is an Open-Source Django Offensive Web-App contain

Mohammadreza Sarayloo 382 Jan 01, 2023
A Telegram Bot to force users to join a specific channel before sending messages in a group.

Promoter A Telegram Bot to force users to join a specific channel before sending messages in a group. Introduction A Telegram Bot to force users to jo

Mr. Dynamic 1 Jan 27, 2022
Automatically download all 10,000 CryptoPunk NFTs.

CryptoPunk Stealer The sole purpose of this script is to download the entire CryptoPunk NFT collection. How does it work? Basically, the website where

Dan 7 Oct 22, 2022
A wordlist generator tool, that allows you to supply a set of words, giving you the possibility to craft multiple variations from the given words, creating a unique and ideal wordlist to use regarding a specific target.

A wordlist generator tool, that allows you to supply a set of words, giving you the possibility to craft multiple variations from the given words, creating a unique and ideal wordlist to use regardin

Cycurity 39 Dec 10, 2022
A simple Burp Suite extension to extract datas from source code

DataExtractor A simple Burp Suite extension to extract datas from source code. Features in scope parsing file extensions to ignore files exclusion bas

Gwendal Le Coguic 86 Dec 31, 2022
Detection And Breaking With Python

Detection And Breaking IIIIIIIIIIIIIIIIIIII PPPPPPPPPPPPPPPPP VVVVVVVV VVVVVVVV I::::::::II::::::::I P:::::::

Baris Dincer 1 Dec 26, 2021
Fast and easy way to rollout on multiple GitLab project file a particular content.

Volatile Fast and easy way to rollout on multiple GitLab project file a particular content. Why ? After looking for a tool to simply enforce a develop

Lujeni 4 Jan 17, 2022
SSRF search vulnerabilities exploitation extended.

This tool search for SSRF using predefined settings in different parts of a request (path, host, headers, post and get parameters).

Andri Wahyudi 13 Jul 04, 2021
RCE Exploit for Gitlab < 13.9.4

GitLab-Wiki-RCE RCE Exploit for Gitlab 13.9.4 RCE via unsafe inline Kramdown options when rendering certain Wiki pages Allows any user with push acc

Enox 52 Nov 09, 2022
Log4j rce test environment and poc

log4jpwn log4j rce test environment See: https://www.lunasec.io/docs/blog/log4j-zero-day/ Experiments to trigger in various software products mentione

Leon Jacobs 307 Dec 24, 2022
A guide to building basic malware in Python by implementing a keylogger application

Keylogger-Malware-Project A guide to building basic malware in Python by implementing a keylogger application. If you want even more detail on the Pro

Noah Davis 1 Jan 11, 2022
open detection and scanning tool for discovering and fuzzing for Log4J RCE CVE-2021-44228 vulnerability

CVE-2021-44228-log4jVulnScanner-metasploit open detection and scanning tool for discovering and fuzzing for Log4J RCE CVE-2021-44228 vulnerability pre

Taroballz 7 Nov 09, 2022
Natural Language Processing - Sommer Semester 2022

Natural Language Processing (DIS25a/NLP) This course can be taken for the Bachelor Programm Data and Information Science (DIS25a) or the Master Progra

Classrooms of IR Group at Technische Hochschule Köln 19 Sep 07, 2022
A Burp Suite extension made to automate the process of finding reverse proxy path based SSRF.

TProxer A Burp Suite extension made to automate the process of finding reverse proxy path based SSRF. How • Install • Todo • Join Discord How it works

Krypt0mux 162 Nov 25, 2022
Auerswald COMpact 8.0B Backdoors exploit

CVE-2021-40859 Auerswald COMpact 8.0B Backdoors exploit About Backdoors were discovered in Auerswald COMpact 5500R 7.8A and 8.0B devices, that allow a

Ashish Kunwar 1 Nov 24, 2022
Big-Papa Integrates Javascript and python for remote cookie stealing which then can be used for session hijacking

Big-Papa is a remote cookie stealer which can then be used for session hijacking and Bypassing 2 Factor Authentication

77 Jan 03, 2023