-
-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
Saiful Alam Rakib edited this page Apr 22, 2026
·
1 revision
This guide walks you through setting up Bill Organizer locally for development or for self-hosting.
| Requirement | Minimum Version |
|---|---|
| PHP | 8.3+ |
| Composer | Latest |
| Node.js | 18+ |
| Yarn | Latest |
| Database | SQLite (default) or MySQL 8.0+ |
| Docker | Optional (for Laravel Sail) |
git clone https://github.com/4msar/bill-organizer.git
cd bill-organizer
# Backend dependencies
composer install
# Frontend dependencies
yarn installcp .env.example .env
php artisan key:generateKey environment variables to configure:
APP_NAME="Bill Organizer"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost
# Database (SQLite by default)
DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/to/database.sqlite
# Mail (log driver for local dev)
MAIL_MAILER=log
MAIL_FROM_ADDRESS="hello@example.com"
# Queue
QUEUE_CONNECTION=database
# API / Sanctum
SANCTUM_STATEFUL_DOMAINS=localhost,localhost:3000,127.0.0.1,127.0.0.1:8000
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8000
API_RATE_LIMIT=60php artisan migrate
php artisan db:seedOption A — Individual commands:
# Terminal 1: PHP dev server
php artisan serve
# Terminal 2: Vite frontend
yarn devOption B — Concurrent (recommended):
composer run devThe application will be available at http://localhost:8000.
# Start all containers in detached mode
./vendor/bin/sail up -d
# Run migrations inside the container
./vendor/bin/sail artisan migrate
# Seed the database
./vendor/bin/sail artisan db:seedDocker port defaults (configurable in .env):
APP_PORT=8500
VITE_PORT=8551
FORWARD_DB_PORT=8536- Open
http://localhost:8000in your browser. - Register a new user account.
- Create your first team (required before adding bills).
- Add categories to organize your bills.
- Create your first bill and set up recurrence if needed.
# Run all tests
php artisan test
# Run API tests only
php artisan test tests/Feature/Api
# Run with coverage
php artisan test --coverage# Real-time log tailing
php artisan pail
# Format PHP code
composer run lint
# Format TypeScript/Vue code
yarn lint
yarn format:check
# Clear all caches
php artisan optimize:clear
# Reset database
php artisan migrate:fresh --seed
# Restart queue workers
php artisan queue:restart
# Enable query logging in Tinker
DB::enableQueryLog();
dd(DB::getQueryLog());- Architecture — Understand the system design
- Features — Explore all available features
- API Overview — Start building integrations
- API Setup — Configure and test the API
© Bill Organizer - Free for Personal use | Need paid license for Commercial use