Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 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.
- Host: GitHub
- URL: https://github.com/Hona/UpBlazor
- Owner: Hona
- License: mit
- Created: 2021-08-31T04:49:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-05-18T07:11:35.000Z (9 months ago)
- Last Synced: 2024-08-01T02:27:39.564Z (6 months ago)
- Topics: ant-blazor, ant-design, antblazor, api, blazor, blazor-server, c-sharp, csharp, g2plot, graph, up, up-banking
- Language: C#
- Homepage: https://upblazor.com
- Size: 3.22 MB
- Stars: 61
- Watchers: 5
- Forks: 17
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-blazor - UpBlazor - ![GitHub stars](https://img.shields.io/github/stars/Hona/UpBlazor?style=flat-square&cacheSeconds=604800) - ![last commit](https://img.shields.io/github/last-commit/Hona/UpBlazor?style=flat-square&cacheSeconds=86400) Blazor Server integrating with Up bank (an Australian digital bank), to assist users with budgeting and to gain powerful future insights. Uses Clean Architecture and [Marten DB](https://martendb.io/). (Sample Projects / Others)
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