- Python 47.5%
- HTML 41.6%
- CSS 9.9%
- JavaScript 0.6%
- Dockerfile 0.3%
|
All checks were successful
Push Docker Image / push (push) Successful in 7m36s
|
||
|---|---|---|
| .forgejo/workflows | ||
| accounts | ||
| expenses | ||
| groups | ||
| spendbee | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| bun.lock | ||
| docker-compose.yml | ||
| Dockerfile | ||
| entrypoint.sh | ||
| manage.py | ||
| package.json | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Spendbee
🐝 A bill-splitting and expense tracking app
Overview
Spendbee helps you track bills and expenses with friends. Create groups, add expenses, and see who owes what at a glance.
Features
- User authentication
- Create and join expense groups
- Add expenses and split with selected members
- Receipt scanning - Upload receipt photos and automatically extract items using AI (Mistral Document AI)
- Multi-currency support - Track expenses in 30+ currencies with ECB exchange rates
- Guest members - Add people without user accounts
- Real-time balance calculation across currencies
- Record debt settlements
- View expense history and settlement history
Install
You can set up Spendbee using Docker or run it locally.
Docker
To set up Spendbee using Docker, follow these steps:
- Clone the repository and navigate to the project directory.
- Run
docker compose upto start all containers
Local
You can also choose to run the webapp locally:
- Clone the repository and navigate to the project directory.
- Run
uv syncto install dependencies using uv - Run
uv run python manage.py runserverto start the development server
Environment
In both cases, you should use the .env.example file as a template for your environment variables.
Copy it to .env and fill in the required values.
Usage
See entrypoint.sh for usage options.
To create an admin user, run docker compose exec web python manage.py createsuperuser and follow the prompts.
To apply database migrations, run uv run python manage.py migrate.
Development
In order to change the page's styles, you need to have Bun installed. Run bun run watch or bun run compile to compile TailwindCSS styles.