A savings goal tracker that helps users create virtual piggy banks, set targets, and build consistent saving habits. Live at akluma.com.
- Scheduled piggy banks — set a target amount and date, choose a saving frequency, and get email reminders
- Classic piggy banks — simple, schedule-free piggy banks for manual deposits and withdrawals
- Multi-currency — supports currencies with different decimal rules (EUR, TRY, XOF, XAF, etc.)
- Multi-language — full localization in English, Turkish, and French with translated URLs
- Vaults — connect a real bank account to track progress alongside your piggy bank
- Google login — sign in with Google or email/password
- PWA-ready — installable on mobile devices
- Framework: Laravel 12
- Frontend: Blade, Tailwind CSS 4, Alpine.js 3
- Build: Vite 6
- Database: MySQL
- Hosting: Fly.io (staging + production)
- CI/CD: GitHub Actions
- Email: Postmark
- Clone the repository
- Copy
.env.exampleto.envand configure your database - Start Docker:
./vendor/bin/sail up -d- First time? Run
docker run --rm -v $(pwd):/app composer installfirst
- First time? Run
./vendor/bin/sail artisan key:generate./vendor/bin/sail artisan migratenpm install && npm run build- Access at http://localhost
./vendor/bin/sail pest # all tests
./vendor/bin/sail pest tests/Feature # feature tests only
./vendor/bin/sail pest tests/Unit # unit tests onlyAkluma is a solo project right now, but contributions are welcome! If you're interested in helping out:
- Browse the open issues for something that interests you
- Fork the repo and create a feature branch from
dev - Submit a PR to
dev— keep it focused on a single change - Make sure
./vendor/bin/sail pestpasses before submitting
Questions or ideas? Open an issue and let's talk.