The Problem
YumYum Burgers was a software-engineering coursework project: a fictional burger restaurant needed a mobile ordering app that could demonstrate account access, menu browsing, cart management, checkout UI, order persistence, and team planning artifacts without exposing private class documents or Firebase configuration.
What We Built
The team built a Flutter food-delivery app with Firebase-backed authentication and Cloud Firestore persistence. The public summary is sanitized: it describes the workflow, architecture, and learning outcomes without publishing raw source code, private class evaluation materials, Firebase keys, project identifiers, or private repository links.
Project Overview
CSC 4350 Software Engineering Team 3 planned and built the coursework app together. Public claims are limited to source structure, Agile artifacts, and sanitized documentation evidence.
My Contribution
- Contributed as a Flutter developer and software-engineering team member on the mobile app.
- Owned the planned homepage, sign-up, and sign-in story according to the Agile backlog evidence.
- Helped connect the app experience around authenticated access, customer-facing screens, and the ordering workflow while keeping private Firebase configuration out of the portfolio.
Mobile Ordering Flow
Fictional burger ordering workflow
The Flutter app connects account access, menu/cart state, checkout UI, receipt confirmation, and Firestore-backed order records.
The diagram is recreated from inspected evidence and excludes Firebase keys, project IDs, generated config files, local paths, and raw class documents.
Technical Decisions
Use Provider for restaurant menu, add-ons, quantities, cart totals, and delivery-address state.
- The app needed a lightweight state pattern that fit a coursework mobile app and could be understood across a small team.
- Provider keeps the architecture approachable, but larger production apps would likely need stronger separation around repository and domain layers.
- Menu browsing, food customization, cart updates, receipt formatting, and cart clearing share one consistent state model.
Use Firebase Auth and Cloud Firestore for account and order persistence.
- The course proposal emphasized free cloud services, and the app needed sign-up, login, password reset, customer records, and saved order data.
- Firebase simplified setup for the team, but the public portfolio must withhold generated config values and project identifiers.
- The case study can discuss authenticated ordering and Firestore-backed persistence without exposing credentials or backend project details.
How I Work
Engineering Challenge
- Group coursework can easily sound like individual ownership if the portfolio language is not precise.
- I compared the app source with the Agile workbook, presentation, and database documentation before writing public claims.
- The page separates Team 3 output from Mirenge's planned homepage/sign-up/sign-in ownership and general Flutter development role.
- The project now shows mobile and software-engineering growth while respecting the team context.
Quality & Testing
Quality Evidence
Product engineering evidence
- The Flutter project includes the default widget-test scaffold and Flutter lint configuration. No custom production test totals are claimed.
- No public CI claim is made for the coursework app. The portfolio page is verified through this site's lint, typecheck, unit, build, verify, e2e, responsive, and accessibility checks.
- Source evidence verifies Flutter/Dart, Provider state, Firebase initialization, Firebase Auth, Cloud Firestore, model files, reusable components, account screens, menu/cart pages, payment UI, receipt, delivery progress, and settings.
Public page quality
- The public diagrams and recreated cover are SVG assets with descriptive metadata and no raw private screenshots.
- The case study uses the shared portfolio layout and was manually reviewed across mobile and desktop viewports.
- No Firebase API keys, project identifiers, generated config values, local paths, private class evaluation materials, or raw class documents are bundled.
| Area | Evidence | Published detail |
|---|---|---|
| Planning | Agile workbook and presentation | Team 3 coursework and feature planning |
| Mobile app | Flutter source folders and pubspec.yaml | Flutter/Dart app with Provider, Firebase Auth, and Firestore |
| Data model | Database document and model files | Customer, food, order, add-on, and category concepts |
Results & Impact
The project demonstrates a complete student-team ordering workflow: sign-up/login/password reset, menu categories, add-ons, cart quantities, cart total, checkout/payment UI, receipt confirmation, delivery-progress screen, customer/order persistence patterns, settings, Agile planning artifacts, and database model documentation.
What I Learned
YumYum Burgers helped connect software-engineering process with implementation reality. The app was not just a set of screens; it required team planning, role clarity, state management, backend service choices, and a privacy review before any portfolio version could be shown publicly.