Compare commits
21 Commits
4ee82dce26
...
1c003486ca
Author | SHA1 | Date | |
---|---|---|---|
1c003486ca | |||
71be1ac49f | |||
d258ab63e4 | |||
9da4a6f03e | |||
1a11555075 | |||
b573553424 | |||
dd0f620b7a | |||
42b732eedc | |||
f437491823 | |||
dc15ae307b | |||
f8a8a6fc0c | |||
a031dd5bb1 | |||
d3ca3c87bf | |||
77c1a6dd18 | |||
a7e1826f52 | |||
94b5c4bbd3 | |||
fdb64b2000 | |||
2ca3328f0f | |||
bd026732c8 | |||
6032f6f526 | |||
e1c6bd22d5 |
26
README.md
26
README.md
@ -1,20 +1,18 @@
|
|||||||
# Budgeteer
|
# Budgeteer
|
||||||
|
|
||||||
Budgeting Web-Application
|
Budgeting Web-Application written in Go and inspired by [YNAB](https://youneedabudget.com).
|
||||||
|
|
||||||
## Data structure
|
## Getting started
|
||||||
|
|
||||||
1 User
|
The fastest way to get up and running quickly, is using docker-compose. Just download the [docker-compose.yml](https://git.javil.eu/jacob1123/budgeteer/src/branch/master/docker/docker-compose.yml) to some empty directory and run `docker-compose up -d`. This starts budgeteer, a postgres database and an adminer instance. The latter is optional and can be removed from the docker-compose.yml.
|
||||||
N Budgets
|
|
||||||
AccountID[]
|
|
||||||
CategoryID[]
|
|
||||||
PayeeID[]
|
|
||||||
|
|
||||||
N Accounts
|
## Known issues
|
||||||
TransactionID[]
|
|
||||||
N Categories
|
|
||||||
AssignmentID[]
|
|
||||||
N Payees
|
|
||||||
|
|
||||||
N Transactions
|
Currently the application is usable when importing from YNAB via their CSV export. All balances should match the balances from YNAB. There are even unit-tests that confirm that using my personal budget.
|
||||||
N Assignments
|
|
||||||
|
For people wishing to start fresh in Budgeteer, there currently are some blockers though:
|
||||||
|
- The ability to create new accounts and categories is missing (#59)
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
If you're willing to help, please check the issues for [help-wanted labels](https://git.javil.eu/jacob1123/budgeteer/issues?labels=4). Just using Budgeteer and reporting any issues is although very helpful.
|
@ -10,11 +10,11 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type FilterTransactionsRequest struct {
|
type FilterTransactionsRequest struct {
|
||||||
CategoryID string `json:"category_id"`
|
CategoryID string `json:"categoryId"`
|
||||||
PayeeID string `json:"payee_id"`
|
PayeeID string `json:"payeeId"`
|
||||||
AccountID string `json:"account_id"`
|
AccountID string `json:"accountId"`
|
||||||
FromDate time.Time `json:"from_date"`
|
FromDate time.Time `json:"fromDate"`
|
||||||
ToDate time.Time `json:"to_date"`
|
ToDate time.Time `json:"toDate"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *Handler) filteredTransactions(c echo.Context) error {
|
func (h *Handler) filteredTransactions(c echo.Context) error {
|
||||||
@ -58,7 +58,7 @@ func parseEmptyUUID(value string) (uuid.NullUUID, bool) {
|
|||||||
return uuid.NullUUID{}, false
|
return uuid.NullUUID{}, false
|
||||||
}
|
}
|
||||||
|
|
||||||
return uuid.NullUUID{val, true}, true
|
return uuid.NullUUID{UUID: val, Valid: true}, true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *Handler) problematicTransactions(c echo.Context) error {
|
func (h *Handler) problematicTransactions(c echo.Context) error {
|
||||||
|
@ -93,11 +93,11 @@ export const useTransactionsStore = defineStore("budget/transactions", {
|
|||||||
async GetFilteredTransactions(accountID : string | null, categoryID : string | null, payeeID : string | null, fromDate : string, toDate : string) {
|
async GetFilteredTransactions(accountID : string | null, categoryID : string | null, payeeID : string | null, fromDate : string, toDate : string) {
|
||||||
const budgetStore = useBudgetsStore();
|
const budgetStore = useBudgetsStore();
|
||||||
const payload = JSON.stringify({
|
const payload = JSON.stringify({
|
||||||
category_id: categoryID,
|
categoryId: categoryID,
|
||||||
payee_id: payeeID,
|
payeeId: payeeID,
|
||||||
account_id: accountID,
|
accountId: accountID,
|
||||||
from_date: fromDate,
|
fromDate: fromDate,
|
||||||
to_date: toDate,
|
toDate: toDate,
|
||||||
});
|
});
|
||||||
const result = await POST("/budget/" + budgetStore.CurrentBudgetID + "/filtered-transactions", payload);
|
const result = await POST("/budget/" + budgetStore.CurrentBudgetID + "/filtered-transactions", payload);
|
||||||
const response = await result.json();
|
const response = await result.json();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user