# 📈 incr **A minimalist investment tracker for VWCE shares with milestone-driven progress** *Track your portfolio growth with visual progress indicators and milestone reinforcement* [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker&logoColor=white)](https://www.docker.com/) [![Laravel](https://img.shields.io/badge/Laravel-12-FF2D20?logo=laravel&logoColor=white)](https://laravel.com/) [![React](https://img.shields.io/badge/React-19-61DAFB?logo=react&logoColor=black)](https://reactjs.org/) --- **[Introduction](#introduction) • [Features](#features) • [Tech Stack](#tech-stack) • [Getting Started](#getting-started) • [Development](#development) • [Contributing](#contributing) • [License](#license)** ---
## Introduction Incr is a minimalist, one-page investment tracking application designed specifically for VWCE (Vanguard FTSE All-World UCITS ETF) shareholders. It combines the satisfaction of visual progress tracking with practical portfolio management, featuring a distinctive LED-style digital display and milestone-based goal setting. The application emphasizes simplicity and focus, providing just what you need to track your investment journey without overwhelming complexity. ## Features - **LED-style display**: Large red digital counter showing current share count - **Progress tracking**: Visual progress bar toward configurable milestones - **Purchase management**: Add and track share purchases with historical data - **Financial insights**: Portfolio value and withdrawal estimates - **Milestone cycling**: Track progress toward multiple investment goals (1500→3000→4500→6000) ## Tech Stack - **Backend**: Laravel 12 (PHP 8.2+) with MySQL database - **Frontend**: React 19 + TypeScript with Inertia.js - **Styling**: Tailwind CSS 4 with shadcn/ui components - **Deployment**: Docker with multi-stage builds ## Getting Started ### Quick Start (Production) #### Docker Clone the repository and run with Docker Compose: ```bash git clone https://github.com/your-username/incr.git cd incr ``` Run the application using the provided docker-compose configuration: ```bash # Using Docker Compose docker-compose -f docker/docker-compose.yml up --build # Or using Podman Compose podman-compose -f docker/docker-compose.yml up --build ``` The application will be available at `http://localhost:5001`. ### Development #### Local Development Setup I snoone diffone For local development with Laravel Sail: ```bash # Install Laravel Sail composer install sail artisan sail:install # Start development environment sail up -d # Install frontend dependencies and build assets npm install npm run dev # Run migrations sail artisan migrate ``` The development server will be available at `http://localhost` with hot reload enabled. ## Project Structure - `app/` - Laravel backend (controllers, models, services) - `resources/js/` - React frontend components and pages - `docker/` - Production Docker configuration - `database/migrations/` - Database schema definitions ## Contributing We welcome contributions to incr! Whether you're reporting bugs, suggesting features, or submitting pull requests, your input helps make this project better. ### How to Contribute 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ### Bug Reports If you find a bug, please create an issue with: - A clear description of the problem - Steps to reproduce the issue - Expected vs actual behavior - Your environment details ## License This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details.