Historical case study

Tech 1 Pro: contractor back office (frontend)

Historical · working prototype.

Year
2022 (April to September)
Role
frontend architecture and implementation
Stack
Angular 13/14, Apollo GraphQL with generated types, Firebase Authentication and Storage, Bootstrap, Chart.js, FullCalendar

What it was

A field-service business manager for home-service contractors, a single-page web app for running the office side of the business.

Workflows

  • Sign-in and registration.
  • Customer manager.
  • Prospects and job leads.
  • Jobs.
  • A sales manager covering estimates, proposals, invoices, payments, expenses, items and work services.
  • A form builder.
  • An admin area.

Engineering

Modular, lazily loaded routes per business area; a typed GraphQL client generated from the backend schema; a route guard and a user resolver so screens load only for a signed-in user with their account in hand.

Original work and the theme

The visual chrome comes from a purchased admin theme; the modules, routing, data layer and workflows are original. The screens below are recreated in the style of this site rather than shown in the theme.

Screens (recreated)

Rebuilt from the 2022 source code with synthetic data to show layout; these are not screenshots.

Tech 1 Pro
Administrator User menu

Job Leads

You have total 12 job leads.

Import + Add New
List view not built in this version.
Recreated · synthetic data · not a screenshot Job Leads page header and navigation, recreated from the 2022 source.
Tech 1 Pro
Administrator User menu

Create New Job

Job Information Job Address
PO# 1042
Category Plumbing
Requested Work Scope Replace kitchen faucet and check for leaks
Defined Work Scope Remove old faucet, install customer-supplied faucet, pressure test
Notes Customer prefers mornings
Create New Job
Recreated · synthetic data · not a screenshot Create New Job form and Job Information fields, recreated from the 2022 source with synthetic values.
Tech 1 Pro
Administrator User menu

Create New Proposal

Proposal Information Proposal Address Proposal Services

Proposed Services

add a proposed service
Water heater flush 1 visit
120.00
Shut-off valve replacement 2 valves
180.00
Create New Proposal
Recreated · synthetic data · not a screenshot Proposal Services tab with synthetic proposed services, recreated from the 2022 source.

Recreated from the data model

Job status values

  1. New
  2. Scheduled
  3. In progress
  4. On hold
  5. Complete
  6. Invoiced

In the order the data model defines them.

Recreated · synthetic data · not a screenshot Job status values, recreated from the 2022 data model.

Status

Historical status

Built for Firebase Hosting, with a production build prepared in July 2022; no copy is live today, and there is no record that a deploy took place. The codebase includes 31 spec files.