Yanma Maintenance Reports

Monthly maintenance paperwork for a building's CCTV and fire-alarm systems, from photos per floor to signed handovers and attendance sheets, generated instead of typed.

Under its YANMA maintenance contract, TAM looks after a building's safety and security systems floor by floor. Every month the client expects a stack of documents: photos of each system on each floor, handover reports with inspection checklists, service records, and attendance sheets for the on-site engineers, all in fixed formats.

This app is where that month's work is recorded, and where the documents come from. Engineers upload photos against a floor and a device; supervisors check them off; and the finished Word reports and Excel sheets are generated from templates in one click.

What  a  month  is  made  of

Documentation periods

Each month is a period that moves from draft to review to completed, holding photos for every device on every floor.

Handovers

Monthly device handovers, each with floor inspections: date, time window, supervisor and a checklist of items with quantities, ticks and notes.

Service records

Dated service visits listing the devices serviced, drafted and then finalised.

Attendance

Attendance lists for each on-site engineer over a date range, approved by a supervisor and exported to Excel.

Templates  per  system

Every system (the CCTV, the fire alarm and so on) carries its own Word templates: one for the monthly documentation and one for handovers, uploaded from the app. docxtemplater fills them with the period's data and drops each floor's photos in at the right size, so a new system or a changed format is a template upload, not a code change. Floors and devices can each be configured with their own titles and descriptions, and attendance sheets are written with ExcelJS.

At  a  glance

5

Roles: admin, on-site engineer, supervisor, technician, guest

17

Data models, one Prisma file each

2

Generated formats: Word reports and Excel sheets

Built  with

  • Next.js 16
  • TypeScript
  • Prisma (multi-file schema)
  • PostgreSQL
  • Clerk
  • docxtemplater
  • ExcelJS
  • shadcn/ui
  • React Hook Form
  • Zod

Related  Work