✅  Registration is open for Professional Object-Oriented Programming!
Professional OOP Traning Program এর প্রজেক্ট ওয়ার্ক

Expense Tracking & Budget Control System

এই প্রোজেক্টটা শুধু “একটা ওয়েব অ্যাপ বানানো” না। এখানে আপনি শিখবেন architecture, code quality, unit testing, code review, এবং project management workflow — একটা real software dev team যেভাবে কাজ করে।

মাইন্ডসেট: Fear during change is not a human problem — it’s a design problem. এই প্রোজেক্ট change-friendly design শেখায়।

UI Overview (Sample)

UI overview sample screens

কেন এই Project Work জরুরি

Learning Outcomes

  • OOP (real): Entities, invariants, encapsulation, responsibility boundaries
  • Architecture: Separation of concerns, maintainability, change-friendly design
  • Testing: business rules কে testable করা (Unit Testing mindset)
  • Code Review: SRP, naming, refactoring decisions, duplication removal
  • Project Management: Trello board, task breakdown, workflow discipline

Project Thinking

এই সিস্টেমে CRUD আছে—কিন্তু তার চেয়েও বেশি আছে business rules: threshold alert, overspending policy, approval flow, historical integrity (soft delete), এবং reporting correctness (no negative expense)।

Outcome: প্রজেক্টটা শেষ করলে আপনার resume-এ “business-rule-driven system” হিসেবে strong entry যোগ হবে।

Project Requirements (High-level)

উদ্দেশ্য: ছোট এবং মাঝারি সাইজের প্রতিষ্ঠান যেন expense track করতে পারে, yearly budget set করতে পারে, overspending detect করতে পারে, এবং alerts + summaries + reports দিয়ে spending insight পায়।

Core Modules

  • User Account Management
  • Expense Category Management
  • Expense Entry Management
  • Yearly Budget Setup
  • Budget Monitoring & Overspending Control
  • Notifications & Alerts
  • Summaries / Insights / Reports
  • Shared / Team Expense (Optional)

UI Mockups (Example)

Three UI mockups example

User Stories (Complete)

নিচে প্রতিটা feature কে user story আকারে লেখা হলো। যেখানে available, সেখানে relevant UI image যুক্ত করা আছে।

User Account Management

US-1: User Registration

Core

As a User, I want to register using my email/mobile and password, so that I can securely access my expense data.

  • Email/Mobile must be unique
  • Password must satisfy minimum strength rules
  • Mandatory fields missing হলে registration complete হবে না

US-2: User Login

Core

As a User, I want to log in securely, so that I can manage my expenses and budgets.

  • Wrong credentials → generic error message
  • Multiple failed attempts → optional lock/delay (security)

US-3: Password Recovery

Core

As a User, I want to recover my password, so that I don’t lose access to my data.

  • OTP / email verification required
  • Reset token time-bound

Expense Category Management

US-4: Default Categories

Core

As a User, I want default categories (Food, Rent, Transport), so that I can start quickly.

US-5: Create Custom Category

Core

As a User, I want to create my own categories, so that expenses match my real life.

  • Category name must be unique
  • Empty name not allowed

US-6: Delete / Deactivate Category

Important

As a User, I want to remove a category that I no longer use.

  • Used categories cannot be hard-deleted
  • Mark as Inactive to preserve historical reports

Expense Entry Management

US-7: Add Expense

Core

As a User, I want to record an expense with date, amount, and category.

  • Amount must be positive
  • Date cannot be in the future
  • Category is mandatory

US-8: Duplicate Expense Detection

Rule

As a User, I want to be warned if I accidentally enter the same expense twice.

  • Same Date + Amount + Category + Description → show warning (not block)
Duplicate expense detection UI
Duplicate warning UX: user কে aware করা, কিন্তু hard block না করা (configurable).

US-9: Edit/Delete Expense

Policy

As a User, I want to edit or delete expenses if I made a mistake.

  • Current year expenses → editable
  • Previous year expenses → restricted / approval required (optional)

Yearly Budget Setup

US-10: Set Yearly Budget

Core

As a User, I want to define my budget for a year, so that I can control spending.

  • Budget amount must be positive
  • Only one budget per year per category
  • Budget not set → treated as Unlimited
Set yearly budget UI
Yearly Budget screen: year + category-wise budget + save.

Budget Monitoring & Overspending Control

US-11: Threshold Monitoring

Rule

As a User, I want to be notified when my spending crosses 50%, 80%, or 100% of my budget.

  • Thresholds configurable (50/80/100 default)
  • Each threshold triggers only once per cycle (anti-spam)
Budget threshold monitoring notifications UI
Notification center: thresholds crossed → actionable alerts.

US-12: Soft Limit vs Hard Limit

Policy

As a User, I want the system to enforce overspending rules based on policy.

  • Soft Limit: allow expense, but mark as Over Budget
  • Hard Limit (optional): beyond 100% requires approval note/document
Soft limit vs hard limit comparison UI
Policy-driven behavior: Soft vs Hard enforcement.

Notifications & Alerts

US-13: Notification Trigger

Core

As a User, I want to receive alerts when important budget events happen.

  • In-app notifications default
  • Email/SMS optional
  • Anti-spam: same threshold/alert once per period

Expense Summary & Reporting

US-14: Monthly Summary

Core

As a User, I want a monthly summary of my expenses, so that I can understand my spending patterns.

  • Total spent
  • Category breakdown
  • Budget vs Spent vs Remaining
  • Over-budget categories highlight
Monthly summary dashboard UI
Monthly Summary dashboard: charts + breakdown + budget performance.

US-15: Adjustments (No Negative Expense)

Rule

As a User, I want corrections handled properly, so that reporting stays accurate.

  • Refund ≠ Negative Expense
  • Use Adjustment entry instead (audit-friendly)

Search, Filter & Insights

US-16: Filter Expenses

Core

As a User, I want to filter expenses by date, category, or amount.

  • Start date ≤ End date
  • Invalid filters rejected

US-17: Insights

Optional

As a User, I want to see spending trends, so that I can make better decisions.

  • Top spending categories
  • High spending months
  • Spending increase/decrease compared to previous period

Shared / Team Expense (Optional Advanced)

US-18: Create Group

Optional

As an Owner, I want to create a group with members, so that we can track shared expenses.

  • Role-based access: Owner vs Member
  • Owner sets budgets & policies

US-19: Approval Workflow

Optional

As an Owner, I want to approve over-budget expenses, so that spending stays controlled.

  • Over-budget entries require owner approval (policy-based)
  • Approval note/document may be required

Performace optimization & AI/ML usage (Advanced)

US-20: Make the Daily Expense report faster

Pro

এই প্রজেক্ট যদি SaaS এ Transform করা হয় তাহলে প্রতিদিন লক্ষ লক্ষ Expense Entry হবে, এক্ষেত্রে আমরা কিভাবে Daily Expense report এর লোডিং টাইম ১ মিনিটের পরিবর্তে ৩-৫ সেকেন্ডে নামিয়ে আনবো

US-21: How to use AI/ML for presenting Duplicate Entry

Pro

US-22: Incorporate AI-based chatbot for report queries

Pro

Trello Board (Project Management Setup)

এই প্রোজেক্ট আমরা Trello-তে manage করবো—task breakdown, ownership, review stage, testing stage সবকিছু real workflow অনুযায়ী।

Trello board sample for project management
Suggestion: Trello columns: Backlog → In Progress → Review → Testing → Done.