Lightweight personal portfolio & net worth tracker with real-time visualization (Spring Boot + Maven).
- Java 17, Spring Boot 3 (Web, Data JPA)
- H2 inβmemory DB (dev)
- RESTful API endpoints
- Service-oriented architecture
- Vanilla JavaScript with modules
- Sneat Bootstrap Admin Template
- ApexCharts for data visualization
- Responsive design with Bootstrap 5
- π Real-time portfolio tracking
- π Net worth visualization
- π Transaction management
- π Search functionality for transactions and holdings
- π± Responsive mobile-friendly interface
- π° Real-time profit/loss calculations
- π Holdings distribution visualization
HistoryItem: Transaction recordsNetWorth: Point-in-time portfolio valuationsStockPrice: Historical price dataPortfolioItem: Current holdings representation
- Dynamic routing system
- Real-time search functionality
- Interactive charts
- Transaction management interface
- Responsive data tables
| Endpoint | Method | Description |
|---|---|---|
/portfolio |
GET | Returns current portfolio holdings with calculated metrics |
/netWorth |
GET | Retrieves net worth history for charting |
/historyItem |
POST | Adds new transaction |
/historyItem |
GET | Returns transaction history |
[
{
"ticker": "AAPL",
"quantity": 10,
"avgPrice": 15000,
"currentPrice": 17500,
"totalValue": 175000
}
]{
"ticker": "AAPL",
"quantity": 10,
"price": 15000,
"timestamp": "2025-08-22"
}- Real-time holdings overview
- Profit/loss calculations
- Search functionality
- Interactive data refresh
- Add new transactions
- View transaction history
- Search transactions by ticker
- Real-time updates
- Historical net worth visualization
- Interactive timeline
- Tooltip details for specific dates
- Pie chart visualization
- Percentage allocation view
- Interactive legend
- Real-time updates
- Clone the repository
- Ensure Java 17 is installed
- Run
mvn spring-boot:run - Access the application at
http://localhost:8080
money-api/
βββ src/
β βββ main/
β β βββ java/
β β β βββ com.bbapi.money_api/
β β β βββ controller/
β β β βββ service/
β β β βββ repository/
β β β βββ entity/
β β βββ resources/
β β βββ static/
β β βββ js/
β β β βββ views.js
β β β βββ api.js
β β βββ index.html
β βββ test/
βββ pom.xml
- User authentication
- Multiple portfolio support
- Export functionality
- Advanced analytics
- Price alerts
- Custom date ranges for reports
Contributions welcome! Please feel free to submit a Pull Request.