Back to Projects

BizBudget

Developed as a team project for COMP 3350 – Software Engineering 1, BizBudget helps small and medium-sized businesses manage day-to-day operations through a centralized mobile interface.

BizBudget setup

Tools and Languages

Android StudioJavaJUnit 5GitLabGitAgile Development

Overview

BizBudget brings financial tracking, inventory management, and employee scheduling into one Android application. Instead of maintaining separate spreadsheets or applications for each business function, owners can review their operations through a single mobile interface.

Key features

  • User authentication with login and registration workflows.
  • Income and expense tracking, dashboard widgets, visual financial summaries, and financial insights.
  • Inventory and employee management interfaces for quick access to operational information.
  • Shift scheduling and weekly employee overviews that connect staffing with the rest of the business.

Software architecture and development

The team emphasized maintainable architecture, separation of concerns, persistence, and automated testing. Development followed an iterative GitLab workflow using feature branches, issues, merge requests, and ongoing code integration. Each feature had to connect its user interface, business logic, and stored data with the larger application.

My contributions

  • Developed login and registration workflows and their user interfaces, including validation and authentication logic.
  • Improved the employee data model by separating first and last names, and added validation tests for the updated functionality.
  • Contributed to the inventory overview, employee scheduling interfaces, static shift displays, and weekly employee overview.
  • Built income and expense widgets, visual financial summaries, and the financial insights page.
  • Contributed to software architecture, persistence layer integration, UI development, testing, and iterative feature integration.

Testing and validation

Authentication logic was tested with JUnit 5 and a fake authentication repository, allowing login and registration behavior to be checked independently of production persistence.

  • Email, password, and input validation.
  • Successful and unsuccessful registration scenarios.
  • Login behavior and authentication workflows.
  • Validation of the updated employee name model.

Things learned

BizBudget gave me experience developing a larger application as part of a software engineering team. It strengthened my understanding of architecture, UI development, persistence, automated testing, and Git-based collaboration. Most importantly, it reinforced the need to design the interface, business logic, data model, and tests together so each feature works within the wider system.