Skip to content

Amir-hkr/FinTrack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FinTrack Banner


πŸš€ FinTrack

A modular investment portfolio management platform built with FastAPI and React.

FinTrack helps users manage digital assets, record transactions, track portfolio performance, and analyze investments through a modern dashboard.


✨ Features

πŸ’° Asset Management

  • βœ… Create new assets
  • βœ… View all assets
  • βœ… Delete assets
  • βœ… Search assets by symbol

πŸ“Š Transaction Management

  • βœ… Create BUY / SELL transactions
  • βœ… Track transaction history
  • βœ… Calculate transaction value
  • βœ… Delete transactions
  • βœ… Validate asset balance before selling

πŸ“ˆ Portfolio Tracking

  • βœ… Calculate current holdings
  • βœ… Calculate average buy price
  • βœ… Track current portfolio value
  • βœ… Calculate profit / loss

πŸ“‰ Analytics Dashboard

  • βœ… Total invested amount
  • βœ… Current portfolio value
  • βœ… Profit and loss calculation
  • βœ… Profit percentage

πŸ›  Tech Stack

Backend

  • 🐍 Python
  • ⚑ FastAPI
  • πŸ“¦ Pydantic
  • πŸ”„ Async API architecture
  • πŸ“ JSON based persistence

Frontend

  • βš›οΈ React
  • ⚑ Vite
  • 🟦 TypeScript
  • 🎨 Tailwind CSS
  • πŸ”„ React Query
  • 🌐 Axios
  • 🧭 React Router

πŸ“‚ Project Structure

FinTrack/
β”œβ”€β”€ |── app/
β”‚   |   |
β”‚   β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”‚   └── configuration/
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ modules/
β”‚   β”‚   β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ api.py
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ service.py
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ repository.py
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ models.py
β”‚   β”‚   β”‚   β”‚   └── schemas.py
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€ transactions/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ api.py
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ service.py
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ repository.py
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ models.py
β”‚   β”‚   β”‚   β”‚   └── schemas.py
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€ portfolio/
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   └── analytics/
β”‚   β”‚   β”‚
β”‚   β”‚   └── main.py
β”‚   β”‚
β”‚   └── data/
β”‚       β”œβ”€β”€ assets.json
β”‚       └── transactions.json
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”œβ”€β”€ types/
β”‚   β”‚   └── App.tsx
β”‚   β”‚
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.ts
β”‚
└── README.md

βš™οΈ Installation

Backend Setup

Enter backend folder:

cd backend

Create virtual environment:

python -m venv venv

Activate:

Windows:

venv\Scripts\activate

Install dependencies:

pip install -r requirements.txt

Run server:

uvicorn app.main:app --reload

Backend runs on:

http://127.0.0.1:8000

Frontend Setup

Enter frontend folder:

cd frontend

Install packages:

npm install

Run development server:

npm run dev

Frontend runs on:

http://localhost:5173
πŸ”Œ API Documentation

πŸ”Œ API Documentation

FastAPI provides automatic documentation:

Swagger:

http://127.0.0.1:8000/docs
πŸ”’ Security Notes

This project is a local development application.

Before publishing:

❌ Do not upload .env files
❌ Do not upload API keys
❌ Do not upload passwords
❌ Do not upload personal data
❌ Do not upload database files containing private information

Use .gitignore for sensitive files.

πŸš€ Future Improvements
Authentication system
Database integration
Cloud deployment
Advanced charts
User accounts
Real-time market data

About

πŸš€ FinTrack A modular investment portfolio management platform built with FastAPI and React. FinTrack helps users manage digital assets, record transactions, track portfolio performance, and analyze investments through a modern dashboard.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors