<div align="center"> <h1>Ghostfolio</h1> <p> <strong>Open Source Portfolio Tracker</strong> </p> <p> <a href="https://ghostfol.io"><strong>Live Demo</strong></a> </p> <p> <a href="https://www.gnu.org/licenses/agpl-3.0" rel="nofollow"> <img src="https://img.shields.io/badge/License-AGPL%20v3-blue.svg" alt="License: AGPL v3"> </a> </p> </div> **Ghostfolio** is an open source portfolio tracker. The software empowers busy folks to have a sharp look of their financial assets and to make solid, data-driven investment decisions by evaluating automated static portfolio analysis rules. ## Why Ghostfolio? Ghostfolio is for you if you are... - ๐ผ trading stocks, ETFs or cryptocurrencies on multiple platforms - ๐ฆ pursuing a buy & hold strategy - ๐ฏ interested in getting insights of your portfolio composition - ๐ป valuing privacy and data ownership - ๐ง into minimalism - ๐งบ caring about diversifying your financial resources - ๐ interested in financial independence - ๐ saying no to spreadsheets in 2021 - ๐ still reading this list ## Features - โ Create, update and delete transactions - โ Portfolio performance (`Today`, `YTD`, `1Y`, `5Y`, `Max`) - โ Various charts - โ Static analysis to identify potential risks in your portfolio - โ Dark Mode ## Technology Stack Ghostfolio is a modern web application written in [TypeScript](https://www.typescriptlang.org) and organized as an [Nx](https://nx.dev) workspace. ### Backend The backend is based on [NestJS](https://nestjs.com) using [PostgreSQL](https://www.postgresql.org) as a database and [Redis](https://redis.io) for caching. ### Frontend The frontend is built with [Angular](https://angular.io). ## Getting Started ### Prerequisites - [Node.js](https://nodejs.org/en/download) (version 14+) - [Yarn](https://yarnpkg.com/en/docs/install) - [Docker](https://www.docker.com/products/docker-desktop) ### Setup 1. Run `yarn install` 2. Run `cd docker` 3. Run `docker compose build` 4. Run `docker compose up -d` to start [PostgreSQL](https://www.postgresql.org) and [Redis](https://redis.io) 5. Run `cd -` to go back to the project root directory 6. Run `yarn setup:database` to initialize the database schema and populate your database with (example) data 7. Start server and client (see _Development_) 8. Login as _Admin_ with the following _Security Token_: `ae76872ae8f3419c6d6f64bf51888ecbcc703927a342d815fafe486acdb938da07d0cf44fca211a0be74a423238f535362d390a41e81e633a9ce668a6e31cdf9` 9. Go to the _Admin Control Panel_ and press _Gather All Data_ to fetch historical data 10. Press _Sign out_ and check out the _Live Demo_ ## Development Please make sure you have completed the instructions from _Setup_ ### Start server - Debug: Run `yarn watch:server` and click "Launch Program" in _Visual Studio Code_ - Serve: Run `yarn start:server` ### Start client - Run `yarn start:client` ## Testing Run `yarn test` ## License ยฉ 2021 [Ghostfolio](https://ghostfol.io) Licensed under the [AGPLv3 License](https://www.gnu.org/licenses/agpl-3.0.html).