Smart Personal Finance Management Made Simple
Live Demo • 🎬 Product Launch • 📹 Project Presentation • Documentation • API Docs • Report Bug
iBudget is a modern web application designed to help people, especially students, manage their finances with ease. Built with cutting-edge technologies, it simplifies money management and reduces the time and effort typically associated with budgeting.
Students and young professionals often struggle with:
- ❌ Overspending and financial stress
- ❌ Lack of visibility into spending habits
- ❌ Difficulty tracking daily, weekly, and monthly expenses
- ❌ No clear financial goals or budgets
iBudget provides an intuitive, efficient platform to:
- ✅ Track all income and expenses in real-time
- ✅ Visualize spending patterns with interactive charts
- ✅ Set and achieve financial goals
- ✅ Receive smart notifications and insights
- ✅ Make informed financial decisions
|
Easily add, edit, and delete income and expense transactions with a clean, intuitive interface. Automatically categorize transactions to understand where your money goes. Set financial goals and create budgets with progress tracking.
|
Interactive charts and graphs powered by Chart.js for deep insights. Bank-level security with JWT authentication and rate limiting. |
- Framework: Angular 20 with Signals & Standalone Components
- State Management: RxJS + Angular Signals
- UI Library: Bootstrap 5 + Bootstrap Icons
- Charts: Chart.js + ng2-charts
- HTTP Client: Angular HttpClient with interceptors
- Testing: Jasmine + Karma + Playwright E2E
- AI Integration: microservice with Bonzi Buddy Chat
- Real-time: WebSocket for live notifications
- Framework: Spring Boot 3.5.7
- Language: Java 21
- Database: MySQL 8.2
- Security: Spring Security + JWT Authentication
- ORM: Spring Data JPA + Hibernate
- Validation: Jakarta Bean Validation
- Rate Limiting: Bucket4j
- Testing: JUnit 5 + H2 Database
- Code Coverage: JaCoCo
- Real-time: WebSocket for live notifications
- Email Service: Spring Boot Mail for verification & notifications
- AI Integration: REST API for Bonzi Buddy chatbot
- Context Services: UserFinancialContext for AI data aggregation
- CI/CD: GitHub Actions (automated testing & security scans)
- Secret Scanning: Gitleaks
- Build Tools: Maven Wrapper, Angular CLI
- Hosting: Hostinger
- Version Control: Git & GitHub
- E2E Testing: Playwright for browser automation
- AI Workflow: seperate microservice for Bonzi Buddy chatbot automation
- LazyGit for terminal git TUI
- Environment Management: Angular environment configs
🔗 Production: https://i-budget.site/
Hosting: Hostinger with MySQL database backend
| Username | Password | Description | |
|---|---|---|---|
| Mark | mark@dayrep.com | }IX]D!mDDVL[Y{Az | The Working Student |
| Sophia | starofthenightsky@super.lgbt | a.3cjPP?ib!GwB,5 | The Impulsive Spender |
| Angeloo | angelo.05@gmail.com | angelo123 | The Frugal Scholar |
project-appvengers/
├── frontend/ibudget/ # Angular 20 application
│ ├── src/app/ # Components, services, models
│ │ ├── chatbot-sidebar/ # AI chatbot integration
│ │ ├── notifications/ # Enhanced notification system
│ │ ├── transactions/ # Transaction management
│ │ ├── budgets/ # Budget tracking
│ │ ├── savings/ # Savings goals
│ │ └── dashboard/ # Analytics dashboard
│ ├── src/environments/ # Environment configurations
│ ├── src/services/ # Business logic services
│ ├── src/styles/ # Global SCSS styles
│ └── playwright-tests/ # E2E test suites
├── backend/appvengers/ # Spring Boot API
│ ├── src/main/java/ # Java source code
│ │ └── com.backend.appvengers/
│ │ ├── controller/ # REST controllers (incl. ChatbotController)
│ │ ├── service/ # Business logic (incl. ChatbotService, UserContextService)
│ │ ├── repository/ # Data access layer
│ │ ├── entity/ # JPA entities
│ │ ├── dto/ # Data transfer objects
│ │ ├── security/ # JWT & authentication
│ │ └── config/ # Spring & WebSocket config
│ └── src/test/ # Unit & integration tests
├── documents/ # Comprehensive documentation
│ ├── markdown/ # Implementation guides
│ ├── microservice/ # microservice workflow configs
│ ├── sprints/ # Sprint planning docs
│ └── testcases/ # Test results & cases
├── coverage/ # Code coverage reports
├── tasks/ # Feature development tasks
└── .github/workflows/ # CI/CD pipelines
| Document | Description |
|---|---|
| API Documentation | Complete REST API reference |
| Integration Guide | Frontend-Backend integration |
| Quick Start Guide | Setup and deployment guide |
| Environment Setup | Environment configuration |
| Code Coverage Guide | Testing and coverage setup |
| Document | Description |
|---|---|
| Chatbot Implementation Guide | Bonzi Buddy context-aware AI system |
| Smart Navigation Guide | Deep linking from chatbot to app features |
| AI Knowledge Base | RAG information for AI assistance |
| Document | Description |
|---|---|
| Chatbot Test Results | 100% compliance testing results |
| E2E Authentication Tests | End-to-end authentication flows |
| Test Cases | Comprehensive test documentation |
| Document | Description |
|---|---|
| CI/CD Setup | Continuous integration and deployment |
| Communication Flow | Team development workflow |
| SSH Key Fix | SSH configuration for deployment |
Meet Bonzi Buddy - An intelligent chatbot that understands your actual financial situation and provides personalized advice.
- Context-Aware: Sees your real income, expenses, budgets, and savings goals
- Session Memory: Remembers conversation context across multiple messages
- Smart Navigation: Creates "Add Transaction" buttons from natural language
- Personalized Advice: Gives recommendations based on your actual financial data
- Knowledge Base: Uses RAG (Retrieval-Augmented Generation) for accurate iBudget guidance
User: "I spent 500 pesos on groceries at SM yesterday"
Bonzi: "Got it! I've prepared a transaction entry for you. Just review the details and click the button below to add it to your records.
- Amount: ₱500
- Category: Groceries
- Description: Groceries at SM
- Date: 2024-12-17
- Frontend: Angular chat widget with microservice integration
- Backend: Spring Boot REST API with UserContextService
- AI: workflow with custom system prompt and AI agent with memory database
- RAG: Pinecone vector database for knowledge retrieval
- 100% Compliance with system prompt requirements
- 7/7 Tests Passed covering identity, knowledge base, security, and behavior
- Production Ready with full privacy and security compliance
See Chatbot Test Results for details.
- 🔐 JWT Authentication: Secure token-based authentication with refresh tokens
- 🛡️ Spring Security: Role-based access control and CORS protection
- ⏱️ Rate Limiting: Bucket4j for brute-force protection on login endpoints
- 🔍 Secret Scanning: Automated Gitleaks checks via GitHub Actions
- ✅ Input Validation: Jakarta Bean Validation on all API endpoints
- 🔄 CORS Protection: Configured for production environment
- 📧 Email Security: Secure email verification with temporary tokens
- 🔒 Account Management: Secure password reset and account deactivation
- 📧 Email Security: Secure email verification with temporary tokens
- 🔒 Account Management: Secure password reset and account deactivation
Our notification system has been significantly improved with smart, user-friendly features:
- 🔴 High Priority: Urgent deadlines, budget exceeded
- 🟡 Medium Priority: Budget warnings, upcoming deadlines
- 🟢 Low Priority: Informational updates, general reminders
- Date Grouping: Automatically groups notifications by "Today", "Yesterday", "This Week"
- Smart Filtering: Filter tabs for "All", "Budgets", "Savings", "Unread"
- Real-time Updates: WebSocket-powered live notifications
- Toast Notifications: Non-intrusive popup notifications for immediate events
- View Details Buttons: One-click navigation to related features
- Empty State: Helpful illustrations and guidance when no notifications exist
- Confetti Respect: Animation preferences are respected across the app
- Scheduler Integration: Automated budget monitoring and deadline checking
- User Preferences: Customizable notification settings and thresholds
- Context-Aware: Notifications based on actual user behavior and patterns
Our GitHub Actions workflows ensure code quality and automated deployment:
- ✅ Continuous Integration - Automated builds and tests on every PR
- 🚀 Continuous Deployment - Automated deployment to production on merge to main
- 🔒 Security Scanning - Gitleaks secret detection
- 📈 Code Coverage - JaCoCo (Backend) + Karma (Frontend)
- 🎉 PR Greetings - Automated contributor welcome
- 🧪 E2E Testing - Playwright browser automation tests
Deployment Flow: Push to main → CI Tests → Build Artifacts → Deploy to prod branch → VPS Deployment → Live at i-budget.site
- Test Coverage: Minimum 80% coverage required
- Security: No secrets detected, OWASP compliance
- Performance: E2E tests pass within time limits
- AI Compliance: Chatbot system prompt compliance verified
Workspace: Notion Project Timeline
We use Notion for:
- Sprint planning and tracking
- User stories and requirements
- Technical documentation
- Team collaboration
![]() Justine Delima Project Manager / Developer |
![]() John Matthew Arroyo Tech Lead / Developer |
![]() James Michael Mejares DevOps Engineer / Tester / Developer |
![]() Ma. Bea Mae Ynion UI/UX Designer / Developer |
This project is part of an academic program at Polytechnic University of the Philippines.



