Cosmo
|
901173a337
|
fix: analytics avg_daily_expense uses selected month/year instead of current
CI / ci (push) Successful in 13s
|
2026-03-01 05:31:05 +00:00 |
|
Cosmo
|
9e06341564
|
feat: cumulative balance with carried_over in finance summary
CI / ci (push) Successful in 14s
|
2026-03-01 05:22:56 +00:00 |
|
Cosmo
|
e782367ef0
|
test: add finance handler, service, repository tests
CI / ci (push) Successful in 36s
|
2026-03-01 05:12:07 +00:00 |
|
Cosmo
|
23939ccc92
|
feat: add finance module (categories, transactions, summary, analytics)
CI / ci (push) Successful in 12s
- model/finance.go: FinanceCategory, FinanceTransaction, Summary, Analytics
- repository/finance.go: CRUD + summary/analytics queries
- service/finance.go: business logic with auto-seed default categories
- handler/finance.go: REST endpoints with owner-only check (user_id=1)
- db.go: finance_categories + finance_transactions migrations
- main.go: register /finance/* routes
Endpoints: GET/POST/PUT/DELETE /finance/categories, /finance/transactions
GET /finance/summary, /finance/analytics
|
2026-03-01 04:22:10 +00:00 |
|
Cosmo
|
8d9fe818f4
|
Add unit tests for middleware, models, services, handlers, and repository helpers
CI / ci (push) Successful in 35s
|
2026-03-01 02:32:59 +00:00 |
|
Cosmo
|
2a50e50771
|
feat(savings): Add savings module with categories, transactions, recurring plans
- Categories: regular, deposits, credits, recurring, multi-user, accounts
- Transactions: deposits and withdrawals with user tracking
- Recurring plans: monthly payment obligations per user
- Stats: overdues calculation with allocation algorithm
- Excludes is_account categories from total sums
- Documentation: docs/SAVINGS.md
|
2026-02-16 06:48:09 +00:00 |
|
Cosmo
|
afeb3adddf
|
feat: Telegram bot, notifications, profile settings, 365-day refresh tokens
|
2026-02-06 14:11:26 +00:00 |
|
Cosmo
|
9e467b0448
|
feat: add Telegram bot with notifications and scheduler
|
2026-02-06 13:16:50 +00:00 |
|
Cosmo
|
5a40127edd
|
Initial commit: Homelab API
|
2026-02-06 11:19:55 +00:00 |
|