Skip to content

Commit

Permalink
Adding open-api generated code and updated readme
Browse files Browse the repository at this point in the history
  • Loading branch information
ESteanes committed Mar 31, 2024
1 parent 1c011a6 commit 36a2544
Show file tree
Hide file tree
Showing 205 changed files with 35,050 additions and 0 deletions.
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,26 @@
# expense-manager
A Go based expense manager and visulisation with a variety of input sources

Phase 1:
* Use the [Up Bank API](https://github.com/up-banking/api) to fetch existing transactions and store them in a SQLite database
* Create webhooks so that it also fetches real-time transactions
* Create a simple web UI to manually interact with the system using [templ](https://github.com/a-h/templ)
* Have some basic static charts using [go-echarts](https://github.com/go-echarts/go-echarts) to summarise spending

Phase 2:
* Implement some level of authentication
* Implement this in a runnable docker container

Phase 3:
* Interactable UI
* Have a UI in which you can interact with the transactions - give them additional metadata such as tags, photos (receipts/invoices)
* Mutate the graphs - apply filters to change what the graphs output


## Notes

* To generate the open-api interface run the following command:
```
sudo docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i /local/openapi.json -g go -o /local/expense-manager/up-bank-interface
```

24 changes: 24 additions & 0 deletions expense-manager/up-bank-interface/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Compiled Object files, Static and Dynamic libs (Shared Objects)
*.o
*.a
*.so

# Folders
_obj
_test

# Architecture specific extensions/prefixes
*.[568vq]
[568vq].out

*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*

_testmain.go

*.exe
*.test
*.prof
23 changes: 23 additions & 0 deletions expense-manager/up-bank-interface/.openapi-generator-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator

# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.

# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs

# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux

# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux

# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
198 changes: 198 additions & 0 deletions expense-manager/up-bank-interface/.openapi-generator/FILES
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
.gitignore
.openapi-generator-ignore
.travis.yml
README.md
api/openapi.yaml
api_accounts.go
api_categories.go
api_tags.go
api_transactions.go
api_utility_endpoints.go
api_webhooks.go
client.go
configuration.go
docs/AccountResource.md
docs/AccountResourceAttributes.md
docs/AccountResourceLinks.md
docs/AccountResourceRelationships.md
docs/AccountResourceRelationshipsTransactions.md
docs/AccountResourceRelationshipsTransactionsLinks.md
docs/AccountTypeEnum.md
docs/AccountsAPI.md
docs/CashbackObject.md
docs/CategoriesAPI.md
docs/CategoryInputResourceIdentifier.md
docs/CategoryResource.md
docs/CategoryResourceAttributes.md
docs/CategoryResourceRelationships.md
docs/CategoryResourceRelationshipsChildren.md
docs/CategoryResourceRelationshipsChildrenDataInner.md
docs/CategoryResourceRelationshipsParent.md
docs/CategoryResourceRelationshipsParentData.md
docs/CreateWebhookRequest.md
docs/CreateWebhookResponse.md
docs/ErrorObject.md
docs/ErrorObjectSource.md
docs/ErrorResponse.md
docs/GetAccountResponse.md
docs/GetCategoryResponse.md
docs/GetTransactionResponse.md
docs/GetWebhookResponse.md
docs/HoldInfoObject.md
docs/HoldInfoObjectForeignAmount.md
docs/ListAccountsResponse.md
docs/ListAccountsResponseLinks.md
docs/ListCategoriesResponse.md
docs/ListTagsResponse.md
docs/ListTransactionsResponse.md
docs/ListWebhookDeliveryLogsResponse.md
docs/ListWebhooksResponse.md
docs/MoneyObject.md
docs/OwnershipTypeEnum.md
docs/PingResponse.md
docs/PingResponseMeta.md
docs/RoundUpObject.md
docs/RoundUpObjectBoostPortion.md
docs/TagInputResourceIdentifier.md
docs/TagResource.md
docs/TagsAPI.md
docs/TransactionResource.md
docs/TransactionResourceAttributes.md
docs/TransactionResourceAttributesCashback.md
docs/TransactionResourceAttributesForeignAmount.md
docs/TransactionResourceAttributesHoldInfo.md
docs/TransactionResourceAttributesRoundUp.md
docs/TransactionResourceRelationships.md
docs/TransactionResourceRelationshipsAccount.md
docs/TransactionResourceRelationshipsAccountData.md
docs/TransactionResourceRelationshipsCategory.md
docs/TransactionResourceRelationshipsCategoryLinks.md
docs/TransactionResourceRelationshipsTags.md
docs/TransactionResourceRelationshipsTagsDataInner.md
docs/TransactionResourceRelationshipsTagsLinks.md
docs/TransactionResourceRelationshipsTransferAccount.md
docs/TransactionResourceRelationshipsTransferAccountData.md
docs/TransactionStatusEnum.md
docs/TransactionsAPI.md
docs/UpdateTransactionCategoryRequest.md
docs/UpdateTransactionCategoryRequestData.md
docs/UpdateTransactionTagsRequest.md
docs/UtilityEndpointsAPI.md
docs/WebhookDeliveryLogResource.md
docs/WebhookDeliveryLogResourceAttributes.md
docs/WebhookDeliveryLogResourceAttributesRequest.md
docs/WebhookDeliveryLogResourceAttributesResponse.md
docs/WebhookDeliveryLogResourceRelationships.md
docs/WebhookDeliveryLogResourceRelationshipsWebhookEvent.md
docs/WebhookDeliveryLogResourceRelationshipsWebhookEventData.md
docs/WebhookDeliveryStatusEnum.md
docs/WebhookEventCallback.md
docs/WebhookEventResource.md
docs/WebhookEventResourceAttributes.md
docs/WebhookEventResourceRelationships.md
docs/WebhookEventResourceRelationshipsTransaction.md
docs/WebhookEventResourceRelationshipsTransactionData.md
docs/WebhookEventResourceRelationshipsWebhook.md
docs/WebhookEventResourceRelationshipsWebhookData.md
docs/WebhookEventTypeEnum.md
docs/WebhookInputResource.md
docs/WebhookInputResourceAttributes.md
docs/WebhookResource.md
docs/WebhookResourceAttributes.md
docs/WebhookResourceRelationships.md
docs/WebhooksAPI.md
git_push.sh
go.mod
go.sum
model_account_resource.go
model_account_resource_attributes.go
model_account_resource_links.go
model_account_resource_relationships.go
model_account_resource_relationships_transactions.go
model_account_resource_relationships_transactions_links.go
model_account_type_enum.go
model_cashback_object.go
model_category_input_resource_identifier.go
model_category_resource.go
model_category_resource_attributes.go
model_category_resource_relationships.go
model_category_resource_relationships_children.go
model_category_resource_relationships_children_data_inner.go
model_category_resource_relationships_parent.go
model_category_resource_relationships_parent_data.go
model_create_webhook_request.go
model_create_webhook_response.go
model_error_object.go
model_error_object_source.go
model_error_response.go
model_get_account_response.go
model_get_category_response.go
model_get_transaction_response.go
model_get_webhook_response.go
model_hold_info_object.go
model_hold_info_object_foreign_amount.go
model_list_accounts_response.go
model_list_accounts_response_links.go
model_list_categories_response.go
model_list_tags_response.go
model_list_transactions_response.go
model_list_webhook_delivery_logs_response.go
model_list_webhooks_response.go
model_money_object.go
model_ownership_type_enum.go
model_ping_response.go
model_ping_response_meta.go
model_round_up_object.go
model_round_up_object_boost_portion.go
model_tag_input_resource_identifier.go
model_tag_resource.go
model_transaction_resource.go
model_transaction_resource_attributes.go
model_transaction_resource_attributes_cashback.go
model_transaction_resource_attributes_foreign_amount.go
model_transaction_resource_attributes_hold_info.go
model_transaction_resource_attributes_round_up.go
model_transaction_resource_relationships.go
model_transaction_resource_relationships_account.go
model_transaction_resource_relationships_account_data.go
model_transaction_resource_relationships_category.go
model_transaction_resource_relationships_category_links.go
model_transaction_resource_relationships_tags.go
model_transaction_resource_relationships_tags_data_inner.go
model_transaction_resource_relationships_tags_links.go
model_transaction_resource_relationships_transfer_account.go
model_transaction_resource_relationships_transfer_account_data.go
model_transaction_status_enum.go
model_update_transaction_category_request.go
model_update_transaction_category_request_data.go
model_update_transaction_tags_request.go
model_webhook_delivery_log_resource.go
model_webhook_delivery_log_resource_attributes.go
model_webhook_delivery_log_resource_attributes_request.go
model_webhook_delivery_log_resource_attributes_response.go
model_webhook_delivery_log_resource_relationships.go
model_webhook_delivery_log_resource_relationships_webhook_event.go
model_webhook_delivery_log_resource_relationships_webhook_event_data.go
model_webhook_delivery_status_enum.go
model_webhook_event_callback.go
model_webhook_event_resource.go
model_webhook_event_resource_attributes.go
model_webhook_event_resource_relationships.go
model_webhook_event_resource_relationships_transaction.go
model_webhook_event_resource_relationships_transaction_data.go
model_webhook_event_resource_relationships_webhook.go
model_webhook_event_resource_relationships_webhook_data.go
model_webhook_event_type_enum.go
model_webhook_input_resource.go
model_webhook_input_resource_attributes.go
model_webhook_resource.go
model_webhook_resource_attributes.go
model_webhook_resource_relationships.go
response.go
test/api_accounts_test.go
test/api_categories_test.go
test/api_tags_test.go
test/api_transactions_test.go
test/api_utility_endpoints_test.go
test/api_webhooks_test.go
utils.go
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7.5.0-SNAPSHOT
8 changes: 8 additions & 0 deletions expense-manager/up-bank-interface/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
language: go

install:
- go get -d -v .

script:
- go build -v ./

Loading

0 comments on commit 36a2544

Please sign in to comment.