All Projects → krishnakuruvadi → portfoliomanager

krishnakuruvadi / portfoliomanager

Licence: GPL-3.0 license
Finance portfolio management for Indians. Track financial goals using contributions to Provident Fund, Sukanya Samriddhi, Mutual Funds, Shares, Restricted Stock Units, Employee Stock Purchase Plan, 401K, Gold, Crypto

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to portfoliomanager

COVID19
A web app to display the live graphical state-wise reported corona cases in India so far. It also shows the latest news for COVID-19. Stay Home, Stay Safe!
Stars: ✭ 122 (+351.85%)
Mutual labels:  india
CovidIndiaStats
A dashboard to visualise the spread of covid19 in India(state and districtwise) and around the world(countrywise).
Stars: ✭ 22 (-18.52%)
Mutual labels:  india
NFHS-5
NFHS-5: National Family Health Survey (2019-20). CSV fact sheets (states, districts) for key indicators from http://rchiips.org/nfhs/ | https://doi.org/10.7910/DVN/42WNZF
Stars: ✭ 49 (+81.48%)
Mutual labels:  india
finance-project-ddd
Projeto financeiro usando domain driven design, tdd, arquitetura hexagonal e solid
Stars: ✭ 67 (+148.15%)
Mutual labels:  finance-management
finance
💰 Free open-source personal finance tracking web application.
Stars: ✭ 156 (+477.78%)
Mutual labels:  finance-management
api
Open Source API for Launched Spacecrafts & Rockets data of ISRO🚀
Stars: ✭ 62 (+129.63%)
Mutual labels:  india
ontology
Global Insurance Ontology
Stars: ✭ 71 (+162.96%)
Mutual labels:  insurance
covaccine-notifier
CoWIN Vaccine availability notifier for India
Stars: ✭ 63 (+133.33%)
Mutual labels:  india
awesome-made-by-indians
🇮🇳 An awesome list for the best projects that were made and mainly contributed by Indian developers
Stars: ✭ 94 (+248.15%)
Mutual labels:  india
Recruit-Restaurant-Visitor-Forecasting
6th place solution for Recruit-Restaurant-Visitor-Forecasting
Stars: ✭ 16 (-40.74%)
Mutual labels:  gold
covid19-cli
A CLI for getting covid-19 coronavirus status of your district or state or country at lightning speed right on your terminal built using https://api.covid19india.org.
Stars: ✭ 19 (-29.63%)
Mutual labels:  india
access
Access - Access is a initiative started by a bunch of professionals from various disciplines (engineering/education/finance) with only one goal- "Make technology education accessible in rural areas of India". This repo contains the content related to access bootcamp.
Stars: ✭ 38 (+40.74%)
Mutual labels:  india
fixed-deposits-sample-app
A sample Fixed Deposit app built using Setu's FD SDK
Stars: ✭ 17 (-37.04%)
Mutual labels:  fixed-deposit
cashaddrjs
CashAddr.js: The new Bitcoin Cash address format for Node.js and web browsers.
Stars: ✭ 36 (+33.33%)
Mutual labels:  cash
obsidian-success-plan
Manage your tasks, projects, key results, and goals within Obsidian. This plugin follows #theGamificationProject's Success Plan Framework.
Stars: ✭ 29 (+7.41%)
Mutual labels:  goal-tracking
HealthCare-Insurance-Ethereum
Medical insurance claiming DApp which uses a Multi-Sig type approach to grant claim (ConsenSys project)
Stars: ✭ 65 (+140.74%)
Mutual labels:  insurance
budget-manager
Easy-to-use, lightweight and self-hosted solution to track your finances
Stars: ✭ 20 (-25.93%)
Mutual labels:  finance-management
mf-nav-data
Historical NAV/price/time-series data of mutual funds and popular benchmark indices in India
Stars: ✭ 29 (+7.41%)
Mutual labels:  india
web-covid-api
🦠COVID-19 Coronavirus 🔥Tracker Dashboard and 🚀Super fast API's (< 200ms) 🆕Updates every 3 mins
Stars: ✭ 18 (-33.33%)
Mutual labels:  india
achihui
HIH is Home Information Hub. It's a Cloud-ready web App with powerful authority control, offering the functionality to transform home-wide info into digit records, including finance traces, and the learning records. HIHbuild with tons of new technologies: Angular, Ant Design, and TypeScript;
Stars: ✭ 12 (-55.56%)
Mutual labels:  finance-management

Portfolio Manager

Live Server

An sandbox live server is hosted at https://india-portfolio-manager.herokuapp.com/. Not optimized for mobile. Best viewed on Chrome browser.

! Please be kind enough and not do any delete operations.

Intent

To build a portfolio manager which can track and provide insights into a individual or family's financial interests.


What is supported?

  • Goals
  • PPF (Public Provident Fund)
  • EPF (Employee Provident Fund)
  • Fixed Deposit
  • ESPP (Employee Stock Purchase Plan)
  • Users
  • SSY (Sukanya Samridhi Yojana)
  • RSU (Restricted Stock Units)
  • Shares
  • Mutual Funds
  • Bank Accounts
  • Gold
  • 401K
  • Crypto

Installation


Upgrades


Baremetal and Virtual Machine Deployment Method

1. Requirements

  • Python v3. Tested with v3.9

  • Libraries

    • macOS:
brew install ghostscript tcl-tk
  • Ubuntu
apt install ghostscript python3-tk

2. Downloading the appliaction

  • Clone or download the source code.
git clone https://github.com/krishnakuruvadi/portfoliomanager.git

Prepare the application to launch

  • Change into the recently clone/downloaded directory.
cd ./portfoliomanager
  • Set git configuration (optional).
git config user.name "Your Name"
git config user.email "[email protected]"
  • Create a virtual environment (optional).
python -m venv ./venv
  • Activate virtual environment.
source ./venv/bin/activate
  • Install the required packages.
pip install -r requirements.txt
  • Edit the environment variables to suite your needs.

    • Open the env_files directory and edit the .pm-env.sample file.
    • Carefully read the comments throughout the file as it will provide additional context.
    • Edit the parameters as necessary.
  • Rename the environment variables file.

    • Remove .sample from the filename. Ensure the filename is .pm-env before proceeding to the next step.
      • WARNING - The application is expecting .pm-env as the filename. If you wish to change it please also modify env_file_path in setting.py
  • Delete unused environment variables file (optional)

    • Since the postgresql-env.sample file is only used with docker deployments, this file can be safely deleted before proceeding to the next step.
  • Copy or move the entire env_files directory to the src directory. The directory should look as follows:

    • portfoliomanager
      • src
        • env_files
          • .pm-env OR .CUSTOM-FILE-NAME set above.
  • Setup the server.

cd src
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic
  • Create a super user in django (optional).
python manage.py createsuperuser
  • You should be prompted to enter the desired username, email and password for this new admin.

  • Download, extract, and copy the chromedriver to root of the project (portfoliomanager). You can obtain this driver from here: https://chromedriver.chromium.org/downloads. The directory should look as follows:

    • portfoliomanager
      • chromedriver

Launch PortfolioManager

  • Start the server.
python manage.py runserver
  • Start the huey process

    • In another terminal activate virtual environment (if you created one above) and run background tasks
source ./venv/bin/activate
cd src
python manage.py run_huey

Browse to Portfolio Manager

  • Open your favorite web browser and go to:
http://<host-ip>:8000/

OR

http://localhost:8000/

Note: Different charts and data gets updated at different fixed schedules. If you want to manually update these, go to "Internals" and then "Tasks" and queue the tasks to run once

  • Enjoy Portfolio Manager!

Optional Features

Summary Emails

  • Create a new MailJet account and sign up for their free tier.
  • Go to "Internals" then "Preferences" and provide the details to setup the integration.

Baremetal and Virtual Machine Upgrade Steps

  • Stop the server
cd ./portfoliomanager/src
CTRL + C
deactivate
  • Download the new app version and install any new packages
cd ./portfoliomanager
git pull
source ./venv/bin/activate
pip install -r requirements.txt

Docker Deployment Method

1. Requirements

2. Downloading the appliaction

  • Clone or download the source code.
git clone https://github.com/krishnakuruvadi/portfoliomanager.git

Prepare the application to launch

  • Change into the recently clone/downloaded directory.
cd ./portfoliomanager
  • Edit the environment variables to suite your needs.

    • Open the env_files directory and edit both files (.pm-env.sample and postgresql-env.sample).
    • Carefully read the comments throughout the files as it will provide additional context.
    • Edit the parameters as necessary.
  • Rename the environment variables files.

    • Remove .sample from the filenames. Ensure the filename is .pm-env and .postgresql-env before proceeding to the next step.
      • WARNING - The application container (pm-app) is expecting .pm-env as the filename. If you wish to change it please also modify env_file_path in setting.py.
      • WARNING - The database container (pm-db) is expecting postgresql-env as the filename. If you wish to change it please also modify ./env_files/.postgresql-env in pm-db > env_file section of docker-compose.yml

Launch Portfolio Manager

  • Within the application folder (i.e. portfoliomanager), run the docker compose file to build the appliaction and launch the docker containers. This step should take approximately two minutes.
docker compose up -d
  • Should you need to tear down the app environment, run:
docker compose down

Browse to Portfolio Manager

  • Open your favorite web browser and go to:
http://<docker-host-ip>/

OR

http://localhost/

Note: Different charts and data gets updated at different fixed schedules. If you want to manually update these, go to "Internals" and then "Tasks" and queue the tasks to run once

  • Enjoy Portfolio Manager!

Optional Features

Summary Emails

  • Create a new MailJet account and sign up for their free tier.
  • Go to "Internals" then "Preferences" and provide the details to setup the integration.

Docker Upgrade Steps

  • Stop the containers
cd ./portfoliomanager
docker compose down
  • Download the new app version
git pull
  • Build a new docker image with the updated application version
docker compose build --no-cache
  • Restart the containers
docker compose up -d
  • Delete the old images (optional but recommended)
docker image prune

Help us and support our work

  • Please consider supporting us by contributing/reporting bugs or feeding our coffee addiction. Click on the link below!

"Buy Me A Coffee"


Disclaimers
This software is in its pre-alpha stage.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].