Skip to content

This app helps you track your stock investments with real-time profit and loss tables, letting you see how your portfolio performs instantly. You can register with your name and email, then log in to manage your holdings.

License

Notifications You must be signed in to change notification settings

Achra-f/Finance-Portfolio

Repository files navigation

Finance Portfolio Tracker

This app helps you track your stock investments with real-time profit and loss tables, letting you see how your portfolio performs instantly. You can register with your name and email, then log in to manage your holdings.

The project was inspired by my interest in the FIRE (Financial Independence, Retire Early) movement and a desire for a clean, simple tool to track investments.


Features

  • User registration & login
  • Secure password hashing
  • Real-time P/L tracking with Polygon.io API
  • Livewire-powered dynamic UI
  • SQLite for development, PostgreSQL for production
  • Fully Dockerized for deployment on Render
  • Clean UI with Tailwind CSS
  • Fast build system using Vite

Tech used

  • Backend Framework: Laravel 12 (PHP 8.2)
  • Frontend: Blade, Tailwind CSS, Livewire
  • Build Tool: Vite
  • Database: SQLite (dev), PostgreSQL (prod)
  • Deployment: Docker + Render
  • Stock Prices: Polygon.io API

Base URL

🟢 Live App:
https://finance-portfolio-pnj2.onrender.com


Authentication

All routes are protected and require a logged-in user.

  • Register at: /register
  • Log in at: /login
  • Once authenticated, users can manage their stock holdings.

Endpoints

These are the main routes available in the Finance Portfolio Tracker app.

All routes except the homepage and login/register require authentication.

Dashboard

Method Route Description
GET /dashboard User dashboard overview

Settings

Method Route Description
GET /settings/profile Edit user profile
GET /settings/password Update user password
GET /settings/appearance Switch light/dark theme

Holdings

Method Route Description
GET /holdings List all holdings
GET /holdings/create Show form to add holding
POST /holdings Store new holding
GET /holdings/{id} View a specific holding
PUT /holdings/{id} Update a holding
DELETE /holdings/{id} Delete a holding

Savings Accounts

Method Route Description
GET /savings-accounts View savings accounts

Polygon API Routes

Method Route Description
GET /search-tickers Client-side ticker autocomplete
GET /polygon/search Server-side ticker search
GET /polygon/prev-close/{ticker} Get previous close price (rate-limited)

Auth Routes

Handled by Laravel Breeze (auth.php):

Method Route Description
GET/POST /login, /register Login and sign up
POST /logout Log out of app
GET /forgot-password Password reset

Demo Usage

  1. Register an account
  2. Add new stock holdings (ticker, quantity, price, etc.)
  3. View real-time updates on your investments
  4. Analyze profit/loss per instrument

Local dev Setup

# Local dev Setup

```bash
# 1. Clone the repo
git clone https://github.com/Achra-f/Finance-Portfolio.git
cd Finance-Portfolio

# 2. Install PHP dependencies
composer install

# 3. Install Node dependencies and build assets
npm install
npm run dev

# 4. Setup environment
cp .env.example .env
php artisan key:generate

# 5. Use SQLite for dev (or configure PostgreSQL)
touch database/database.sqlite
php artisan migrate

# 6. Start the server
composer run dev

About

This app helps you track your stock investments with real-time profit and loss tables, letting you see how your portfolio performs instantly. You can register with your name and email, then log in to manage your holdings.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages