Skip to content

feat: goal-based savings tracking & milestones (Closes #133)#622

Open
damiehttp wants to merge 1 commit intorohitdash08:mainfrom
damiehttp:feat/savings-goals-133
Open

feat: goal-based savings tracking & milestones (Closes #133)#622
damiehttp wants to merge 1 commit intorohitdash08:mainfrom
damiehttp:feat/savings-goals-133

Conversation

@damiehttp
Copy link

Goal-based Savings Tracking & Milestones

962 lines of new code implementing full savings goal management with milestone tracking.

Backend (Flask)

  • Database schema: savings_goals, goal_milestones, goal_contributions tables with proper indexes and foreign keys
  • Full CRUD API at /api/savings-goals
    • POST / — create goal with optional custom milestones
    • GET / — list goals with status/category filtering
    • GET /<id> — get goal with milestones and recent contributions
    • PUT /<id> — update goal details
    • DELETE /<id> — soft-delete (archive) goal
  • Contributions: POST /<id>/contribute (deposit/withdraw)
  • Auto-milestones: 25%, 50%, 75%, 100% created automatically
  • Custom milestones: user-defined percentage targets
  • Statistics: GET /stats with totals, category breakdown, completion rates
  • Categories: EMERGENCY, VACATION, HOME, EDUCATION, RETIREMENT, VEHICLE, WEDDING, HEALTH, OTHER

Frontend (TypeScript)

  • Type-safe API client (app/src/api/savings.ts)
  • Full CRUD + contribution operations
  • Proper error handling and type definitions

Tests

  • 336 lines of comprehensive unit tests
  • Covers CRUD, contributions, milestone auto-tracking, edge cases, authorization

Closes #133

Full implementation of savings goals with milestone tracking.

## Backend (Flask)
- Database schema: savings_goals, goal_milestones, goal_contributions tables
- Full CRUD API endpoints for goals (/api/savings-goals)
- Contribution management (deposit/withdraw)
- Auto-milestone tracking (25%, 50%, 75%, 100%)
- Custom milestone support
- Category filtering (EMERGENCY, VACATION, HOME, EDUCATION, etc.)
- Statistics endpoint with totals and category breakdown

## Frontend (React/TypeScript)
- Type-safe API client (app/src/api/savings.ts)
- Full CRUD operations with error handling

## Tests
- 336 lines of comprehensive unit tests
- CRUD, contributions, milestones, edge cases, authorization

Closes rohitdash08#133
@damiehttp damiehttp requested a review from rohitdash08 as a code owner March 23, 2026 07:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Goal-based savings tracking & milestones

1 participant