Microcycle Web App

For my college program’s capstone, I built this web application to serve Canadian retailers and wholesalers as they endeavor to comply with environmental regulations. Having worked in this field myself as a sustainability coordinator, I found environmental compliance to be very difficult to manage. To this end, I decided to build a solution to help manage environmental compliance.

Description

This web app is intended primarily to serve customers in the wholesale and retail business sectors as they endeavor to comply with environmental stewardship regulations in Canada. It simplifies determining who is responsible for remitting environmental handling fees (EHFs) and determining how much should be paid.

Certain goods such as batteries, fluorescent lighting, or paint products contain harmful chemicals which require specialized recycling and disposal processes. These processes come at a cost, and in Canada there are laws determining which business or organization is responsible for paying the cost. An example is a Canadian wholesale business which import batteries from China, then sells the batteries in bulk to a consumer retail chain. One of these parties is responsible for remitting recycling fees to a 3rd party organization, called a Producer Responsibility Organization (PRO). The first problem is determining which party should pay as it is not always clear. The second problem is the challenge of determining how much should be paid, because current laws change between provinces and states and the calculation methods are varied.

The app solves its problem in three ways:

  1. Providing a simple, interactive, click-by-click flow chart to determine if the user is responsible for remitting stewardship fees. If the user is not responsible, the flow chart suggests actions for the user to take.
  2. Helping users submit their product sales to calculate their remittance fees. When this is complete, users can filter their past submissions by date and product. This displays the categories, quantities, and total fees per line, as well as a net total owed for the selected period.
  3. Connect users to the relevant 3rd party PRO so they can easily log-in and pay their fees in a timely fashion.

Sample Data

Example Sales Data

product SKUproduct categoryproduct subcategoryproduct formatunits per packagequantity sold (packages)
000444999batteryni-mhAAA1011439
777555444batteryliAA4212004
888111888lightingflurorescenttube21819
005710750lightingLEDA19186760

Database Schema Examples

Table / AttributeDescription
proProducer Responsibility Organization
pro_namename of the organization
nationlocation where the PRO operates
state_or_provincelocation where the PRO operates
product_category 
namebattery, lighting, paint, tire, etc.
categoryforeign key, select the parent product category
namebattery chemistry, lightbulb chemistry, etc.
fee_calculationthe method for calculating the stewardship fee
method_namedescription of the calculation, i.e., by weight or by quantity or per 100 units, etc.
calculation_formula[battery_weight] * [quantity_per_package] / 100 * 0.005
legislationlegal texts defining stewardship regulations
namethe official name of the law or bylaw
textthe body of text of the regulation
effective_datethe date the legislation became effective
end_datethe date the legislation becomes ineffective (if any)

Filtered Sales Data

Filtered List for User
Product DescriptionQuantityFee (CAD)
Battery | ni-mh | AAA | 10 pack11439$1500.50
Battery | li | AA | 4 pack212004$1064.02
Lighting | fluorescent | tube | 2 pack1819$114.00
Lighting | LED | A19 | 1 pack86760$803.87
Remit fees to:Call2Recycle 100 Sheppard Avenue East
Suite 800
Toronto, ON
M2N 6N5

Highlights

MudBlazor Styling

The app makes use of MudBlazor’s myriad components. There are drop-downs, data grids, date pickers, snack bars, and more.

Flowchart

A highlight of the app is a flowchart which helps users navigate their legal obligations using simple yes/no questions.

Excel Downloads

Whenever data is displayed in a grid/table, it can be downloaded into an Excel spreadsheet.

Technologies Used

  • ASP.NET / C# / Blazor
  • Mudblazor
  • PostgreSQL
  • Azure App Service
  • Github Actions
  • Visual Studio for MacOS
  • Katalon Recorder