Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hona/upblazor

๐Ÿฆ I built this site to integrate with Up bank (an Australian digital bank), to assist users with budgeting and to gain powerful future insights.
https://github.com/hona/upblazor

ant-blazor ant-design antblazor api blazor blazor-server c-sharp csharp g2plot graph up up-banking

Last synced: 2 months ago
JSON representation

๐Ÿฆ I built this site to integrate with Up bank (an Australian digital bank), to assist users with budgeting and to gain powerful future insights.

Awesome Lists containing this project

README

        

![UpBlazor](./_docs/img/logo.png)

![.NET Build + Test](https://github.com/Hona/UpBlazor/actions/workflows/dotnet.yml/badge.svg)
[![UpBlazor](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](https://github.com/Hona/UpBlazor/blob/master/LICENSE)


https://upblazor.com

## What is this?

๐Ÿฆ I built this site to integrate with [Up bank](https://up.com.au) (an Australian digital bank), to assist users with **budgeting** and to gain **powerful future insights**.

### Epics

- [ ] โšก Leverage the [Up API](https://developer.up.com.au) (using [Up.NET](https://github.com/Hona/Up.NET)) to:

- [x] Fetch existing Transactional and Saver accounts to make selecting which account to save/expense simple
- [x] Use existing account balances for more accurate insights
- [ ] Track actual vs intended savings
- [ ] Automatically set savings in app when created on the site (this API does not exist on Up yet...)

- [x] ๐Ÿ’ฒ Track incomes

- [x] Exact ($)
- [x] Allow multiple

- [x] ๐Ÿงพ Track expenses

- [x] Exact ($) or Relative (%) cost
- [x] Source from Income streams/Up accounts
- [x] One off + Recurring

- [x] ๐Ÿชฃ Create savings plans

- [x] Create multiple, per income
- [x] Exact ($) or Relative (%) cost
- [x] Choose which Saver account to put the amount into

- [ ] ๐Ÿ“ˆ Insights + analytics

- [x] Show a breakdown of how the calculations work (relative -> absolute), rolling totals, etc
- [x] Forecast graphs

- [x] Income (in each Up account) - account for all income streams
- [x] Expenses (aggregate recurring and one offs)
- [x] Net Balances (Income - Expenses, in each account)

- [ ] Suggested Budgetting
- [ ] Daily Breakdown
- [ ] Actual vs Intended
- [ ] Reports



## Examples

#### Layout + Notifications

![Layout + Notifications](./_docs/img/notifications.png)

#### Graph

![Graph](./_docs/img/graph.png)

#### Responsive Sider

#### Form

![Form](./_docs/img/form-components.png)

#### Result

![Result](./_docs/img/status-with-form.png)

#### Table

![Table](./_docs/img/table.png)

## Code Architecture

This project follows a simplistic take on Clean Architecture.

#### UpBlazor.Core

* Contains the core models that are stored in the database/not dependent on anything
* Repository interfaces to abstract the infrastructure layer
* Helper methods/extensions
* Services

#### UpBlazor.Infrastructure

* Contains repository implementations using [Marten DB](https://martendb.io/)

#### UpBlazor.Web

* Frontend is Blazor server-side
* Authentication is using Microsoft OAuth2
* UI Framework is AntBlazor, with AntBlazor Charts (based on G2Plot)

## Getting Started

### Development

1. Install a local instance of Postgres
2. Create a database called upblazor, and a user with access
3. Update the Marten connection string in appsettings.json
4. Build and run UpBlazor.Web

### Production

1. Install Docker and docker-compose
2. Run `docker-compose up -d --build`
3. The program is exposed on port 9994, so reverse proxy your domain to that port

## Acknowledgments

* [AntBlazor](https://github.com/ant-design-blazor/ant-design-blazor)
* [Up bank](https://up.com.au)

## Contributors



LukeParkerDev/


LukeParkerDev




Andrzej


Andrzej Bakun




Imgbot/


Imgbot