Mather-Roofs

byGemma Cassidy

Roof estimate and quoting app

Landing
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 4

Mather-Roofs System Requirements Document

1. Introduction

The Mather-Roofs project aims to develop a comprehensive roof estimate and quoting application tailored for small businesses. This solution will streamline the quoting process by allowing users to calculate roofing areas, even those with irregular shapes, and generate cost estimates based on material requirements.

2. System Overview

Mather-Roofs is designed to assist small roofing businesses in efficiently generating quotes for their clients. The application will allow users to input various dimensions and angles of a roof to calculate the total roofing area. Based on this area, the system will then compute the necessary materials and provide a detailed cost estimate. The application will leverage a pre-resolved API supervisor recommendation to enhance its functionality and accuracy.

3. Functional Requirements

  • As a User, I should be able to input lengths and angles to calculate the roofing area.
  • As a User, I should be able to calculate roofing areas for irregularly shaped roofs.
  • As a User, I should be able to generate cost estimates based on the calculated roofing area.
  • As a User, I should be able to select different materials and see their impact on the total cost.
  • As a User, I should be able to save and retrieve past quotes for future reference.
  • As a User, I should be able to export quotes in a professional format for client presentation.
  • As a User, I should be able to access a dashboard that summarizes all ongoing and past quotes.
Page 2 of 4

4. User Personas

  • Small Business Owner: Manages the overall operations and uses the app to generate quotes for clients.
  • Estimator: Inputs roof dimensions and generates cost estimates.
  • Client: Receives the final quote and interacts with the business based on the provided information.

5. Core User Flows

  • Small Business Owner logs in -> accesses dashboard -> reviews ongoing quotes -> generates a new quote.
  • Estimator inputs roof dimensions -> calculates area -> selects materials -> generates cost estimate -> saves quote.
  • Client receives quote -> reviews details -> contacts business for further discussion.

6. Visuals Colors and Theme

  • primary: #2A9D8F (Teal)
  • primary_light: #E9F5F4 (Light Teal)
  • secondary: #264653 (Dark Blue)
  • accent: #F4A261 (Orange)
  • highlight: #E76F51 (Coral)
  • bg: #F1FAEE (Off White)
  • surface: rgba(42, 157, 143, 0.8)
  • text: #1D3557 (Navy Blue)
  • text_muted: #A8DADC (Light Blue)
  • border: rgba(38, 70, 83, 0.2)
Page 3 of 4

7. Signature Design Concept

The Mather-Roofs homepage will feature an interactive 3D model of a roof that users can manipulate. Using @react-three/fiber and @react-three/drei, users can rotate and zoom into the model to visualize different roofing scenarios. As users input dimensions and angles, the model dynamically updates to reflect these changes, providing a real-time visual representation of the roof. This engaging experience will make the quoting process intuitive and visually appealing.

8. Interaction Model & Motion Direction

The landing page will employ a "parallax" interaction model, providing a layered depth effect as users scroll. The 3D roof model will remain interactive, allowing users to engage with it directly. Internal pages will adopt a "static" model to ensure clarity and ease of use for data-heavy tasks like inputting dimensions and reviewing quotes.

9. Non-Functional Requirements

  • The system should ensure data accuracy in calculations and cost estimates.
  • The application must be responsive and accessible across various devices.
  • The system should maintain high availability and performance standards.
  • Data security and user privacy must be prioritized, adhering to local regulations.
Page 4 of 4

10. Tech Stack

  • Frontend: React for Web
  • Backend: Python, FastAPI
  • Database: MySQL or MariaDB, using Alembic for migrations
  • AI Models: Not specified
  • Local Orchestration: Docker, docker-compose
  • Server-side Orchestration: Kubernetes

11. Assumptions and Constraints

  • The application will primarily serve small businesses in New Zealand.
  • Currency and measurements will default to NZD and metric units, respectively.
  • The system will integrate with a pre-resolved API supervisor recommendation for enhanced functionality.

12. Glossary

  • API: Application Programming Interface
  • Estimator: A user responsible for calculating roofing areas and generating quotes.
  • Quote: A detailed cost estimate provided to clients based on roofing dimensions and selected materials.
Landing design preview
Landing: View Info
QuoteView: Open Quote
QuoteView: Review Details
QuoteView: View Materials
QuoteView: View Costs
Contact: Request Discussion
Contact: Send Inquiry
QuoteView: Download Quote