Skip to content
← Projects

Stock Portfolio Tracker

Portfolio cost and profit/loss tracking

A desktop application that calculates per-user investment profit and loss.

Overview

An investment tracking application built with Java and JavaFX during a software development internship at Kodpit Teknoloji. It records investors' stock transactions and reports portfolio performance per user, broken down into profit and loss.

The Need

For an investor trading frequently at different dates and prices, calculating current portfolio performance accurately is complex: the cost of multiple purchases of the same stock, realised profit from partial sales and the current value of open positions must all be tracked separately. Running these calculations by hand in spreadsheets is error-prone.

The Solution

  • Per-user portfolios — Each user's transaction history and portfolio are managed independently.
  • Transaction log — Buys and sells are recorded with date, quantity, price and commission; validation rules prevent incorrect entries.
  • Cost and performance analysis — For each position: weighted average cost, realised profit/loss and unrealised profit/loss at the current price, calculated separately.
  • Portfolio summary — Total invested, current portfolio value and total return on a single screen, with position allocation shown in tables and charts.

Architecture

The interface is defined with JavaFX and FXML, screen logic sits in controller classes, and financial calculations live in service classes independent of the presentation layer. This separation allows the calculation logic to be tested independently of the interface. Decimal-precision data types are used for monetary calculations to prevent rounding errors, and data persists across application sessions.

Impact

  • Investors gain a tool to track portfolio performance accurately and at a glance.
  • Thanks to the layered structure, the calculation engine can be reused across different interfaces.
  • The project was delivered within a professional software development process, from user needs analysis to delivery.
Java Desktop

More projects

Sardur Engineering

Corporate website, admin panel and client portal

2025

A three-part full-stack web application for an industrial chimney-cleaning company: a public corporate site, an admin panel and a client portal.

Laravel Filament v4 MySQL +4
View project

Clinical Psychologist Website

Corporate website, content management and search visibility

2026

A corporate website designed and built from scratch, without templates, for a clinical psychologist in Denizli — trustworthy, visible in search and easy to manage.

Laravel Filament v5 Tailwind CSS +3
View project