FinCore is a cool and free cross-platform personal finances manager written in .NET 5 with Angular 10 frontend.
This project is a summary of my experience working as a developer and team leader for various financial institutions (banks and FOREX brokers) and individual traders. I made application as simple as possible to use with such complex thing as finances.
Program fits for anybody.
For Investor
If one wants to track investment portfolio and observe shares/stock prices then these screens will help Realtime Dashboard
and Investments Pie and Yearly Capital State.
Using this app one can grow in all 3 directions - on constant usage one can become better and smart consumer/merchant, then better trader and finally wise investor.
These screens will show and track in time your performance and personal relations with finances Yearly Capital State and
Earning/Spending Performance per day/month.
This version is free of charge but if you want a better and secured version you can write me to hi@sergego.com we can talk about improving/installation/support and agree about $.
App.
Go to FinCore/ClientApp folder
Run: npm install
For UI Debug run: : npm run start
and use URL http://127.0.0.1:4200 for running debug version of UI
Build Whole application
To build as a Windows Service or Console app:
Run from command line: build.bat
To build as a docker image:
Run: docker.sh
If you fail to build or do not want to build on your machine then there is an option to get docker image from my docker hub. Run this commands:
git clone https://github.com/sergiovision/FinCore.git
docker pull dockersergio/fincore:latest
docker-compose up
To make build succeeded the following apps should be installed: Visual Studio 2019, Visual Studio 2019 Build tools, latest NPM from http://nodejs.org.
Applications need to be installed to run server properly:
SQLite database located in /DB
folder. By default SQLite DB file used, but MySQL also supported, you can switch to MySQL in /FinCore/appSettings.json
file.
For configuring crypto module setup Api Keys for KuCoin and/or FTX providers:
For KuCoin exchange set the following properties in /FinCore/appSettings.json
:
KuCoinAPIKey
- KuCoin Main API Key
KuCoinAPISecret
- API Secret
KuCoinPassPhrase
- Pass Phrase
KuCoinFutureAPIKey
- KuCoin Futures API Key
KuCoinFutureAPISecret
- API Secret
KuCoinFuturePassPhrase
- Futures Pass Phrase
For FTX Exchange:
FTXAPIKey
- FTX API Key
FTXAPISecret
- FTX API Secret
Open fincore_empty.sqlite
file in any DB editor that works with SQLite ( like Navicat ).
Open Settings screen and set the following variables
XTrade.TerminalUser
- should be set to windows user login name where trading terminals will be running
XTrade.InstallDir
- XTrade installation folder.
Metatrader.CommonFiles
- path to MT5 common files folder
MQL.Sources
- path to MQL folder where your MQL robots stored
To install application in Windows Service mode, build project under Windows, go to bin folder and run command (under Administrator privileges): FinCore.exe install
If you have problems running check FinCore.MainServer.log
to see errors.
FinCore folders structure:
/BusinessLogic - main app logic
/BusinessObjects - shared business objects
/FinCore - main server self host and WebAPI controllers
/ClientApp - Angular client application
/MQL5 - MQL5 executables that needs to be installed in Metatrader to be able to synchronize and work with Metatrader.
Multiple Terminals/Brokers and Advisers Management
Trading Statistics and Risk management
Earning/Spending Performance per day/month
2021
.2020
and 2021
are opened to make FinCore accesible outside of VPS.netsh interface portproxy add v4tov4 listenport=2020 listenaddress=127.0.0.1 connectport=2020 connectaddress='docker container address'
netsh interface portproxy add v4tov4 listenport=2022 listenaddress=127.0.0.1 connectport=2022 connectaddress='docker container address'
location ^~ /fincore/ {
proxy_pass http://127.0.0.1:2020/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
test@test.com
test
Wallets book
Realtime Dashboard
Settings
Adding Adviser in Metatrader
Metatrader Settings
Adviser
Multiple Terminals/Brokers and Advisers Management
Yearly Capital State
Trading Statistics and Risk management
Investments Pie
Application logs
Earning/Spending Performance per day/month
Deals history
Background Jobs
Metasymbols management
Realtime exchange rates