| .github/workflows | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| docker | ||
| public | ||
| resources | ||
| routes | ||
| storage | ||
| tests | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| artisan | ||
| components.json | ||
| composer.json | ||
| eslint.config.js | ||
| Jenkinsfile | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| phpunit.xml | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
📈 incr
A minimalist investment tracker for VWCE shares with milestone-driven progress
Track your portfolio growth with visual progress indicators and milestone reinforcement
Introduction • Features • Tech Stack • Getting Started • Development • Contributing • 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:
git clone https://github.com/your-username/incr.git
cd incr
Run the application using the provided docker-compose configuration:
# 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
For local development with Laravel Sail:
# 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 pagesdocker/- Production Docker configurationdatabase/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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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 file for details.