Danielle Fence Crew Scheduling

A drag-and-drop crew scheduling suite for a fence and outdoor-living company, built in React and Redux on the WordPress REST API.

2021 · Dev · React · WordPress · ~2 min

  • React
  • Redux
  • Radix UI
  • Sass
  • WordPress
  • PHP
  • MySQL
  • NGINX
  • Apache
  • Let's Encrypt
  • Google Maps
Weekly schedule board with four color-coded crew rows, job cards dropped into day cells, and a queue of open jobs in the left rail

Danielle Fence is a fence and outdoor-living company, in business since 1976. In 2021 I built their staff scheduling suite: a weekly board where schedulers drag open jobs onto crews and days, with a map view to see where every crew is headed.

Role
Built the React front end and WordPress back end
Timeline
March to December 2021

01

The board

Each week is a grid: crews down the side, days across. Open jobs wait in the left rail, and scheduling one is a drag onto a crew and a day. Every card shows the job’s address with quick flags for HOA, permit, status, and gates, plus Crew/Equip and Clone actions.

02

The map

Flip from Schedule to Map and the same week lands on Google Maps, each pin in its crew’s color.

Florida map with job pins colored to match each crew, beside the open-jobs rail

The week of July 26, 2021, pinned across Florida.

03

Crews

Crews live in a settings panel. Rename them, pick a color, or add one, and the board and map follow.

Crews settings panel over the schedule, renaming each crew and picking its color

04

Under the hood

Crew schedules and customer addresses aren’t public data, so I hosted it on a locked-down stack. Nginx was the only thing facing the internet: it terminated TLS with auto-renewing Let’s Encrypt certificates and proxied to Apache and PHP-FPM. The app ran as its own unprivileged Linux user, the firewall opened only SSH and web traffic, and security patches installed daily.

Sign-in sits behind reCAPTCHA, on a screen branded to match Danielle’s design center.

The suite was also tied to Danielle’s existing in-house CRM.

  1. React + ReduxDrag-and-drop board and map, styled with Radix and SCSS
  2. WordPress REST APIJWT auth, routes documented in Postman and Swagger UI
  3. PHP-FPM + MySQLThe WordPress back end
  4. Nginx + ApacheA custom-built Nginx at the edge, Apache behind it

Sign-in screen beside a photo of the Danielle Fence outdoor design center

Opportunity record in the in-house CRM, showing Bill To and Ship To address forms

Status: available for hire

Hiring a full-stack engineer?

Twenty years of shipping for the web, from first sketch to last deploy.