Page 1 of 7
System Requirements Document (SRD)
Project Name: mars-platform
1. Introduction
The mars-platform is an enterprise-grade web platform designed to streamline operations for a gas and electrical appliance service business. It acts as a wrapper and automation layer over the existing ServiceM8 system (field service management). The platform aims to eliminate manual workflows, reduce errors, and provide a unified dashboard for office staff to manage jobs, quotes, inventory, suppliers, and payments.
This document outlines the system requirements for the mars-platform, tailored to the needs of Priyank Dave's team in India. Locale-specific considerations such as timezone (IST), currency (INR), and user workflows have been incorporated.
Page 2 of 7
2. System Overview
The mars-platform integrates with ServiceM8 via its API to provide a seamless experience for office staff, technicians, and financial managers. It automates repetitive tasks such as work order ingestion, technician note cleanup, inventory tracking, supplier communication, and customer follow-ups.
Key features include:
- A Unified Operations Dashboard for quick access to job statuses, analytics, and alerts.
- Two-way synchronization with ServiceM8 to ensure no double entry for technicians or office staff.
- Role-based access control (RBAC) to protect sensitive financial data.
- Automation engines for supplier follow-ups, quote reminders, and technician note formatting.
- Inventory management for tracking parts across warehouses and technician vans.
- Admin panel for user management, including role assignment and user permissions.
The platform will handle all processes directly within its backend, ensuring tight integration and real-time updates without relying on external microservices.
3. Functional Requirements
Page 3 of 7
As story points:
- As Admin, I should be able to create, track, and manage jobs with lifecycle stages synced to ServiceM8.
- As Admin, I should be able to view a unified dashboard with job queues, analytics, and alerts.
- As Admin, I should be able to manage inventory across warehouses and technician vans, including low-stock alerts.
- As Admin, I should be able to send and track purchase orders to suppliers, with automated follow-ups.
- As Admin, I should be able to automate customer quote follow-ups via email and SMS.
- As Admin, I should be able to reconcile parts usage across jobs to prevent duplicate billing.
- As Admin, I should be able to clean and format technician notes automatically while preserving raw data.
- As Admin, I should be able to access analytics for operational efficiency and supplier performance.
- As Technician, I should be able to view assigned jobs and log parts used via ServiceM8 mobile.
- As Owner, I should be able to view operational data securely.
- As Admin, I should be able to selectively re-run SRD regeneration manually to update requirements.
- As Admin, I should be able to add or remove users and assign roles.
- As User, I should be able to log in using my email and password.
- As User, I should be able to sign up with my first name, last name, email, password, and confirm password.
4. User Personas
Admin / Office Staff
- Primary Users: Kylie, Linda, Wendy, Elaine
- Responsibilities: Job creation, inventory management, supplier communication, customer follow-ups, analytics, and user management.
- Access: Full access to all modules except gated financial data.
Technicians
- Primary Users: Field staff
- Responsibilities: Logging parts used, viewing assigned jobs.
- Access: Limited access to job details and inventory logging via ServiceM8 mobile.
Page 4 of 7
Owner / Financial Manager
- Primary Users: Kylie, Elaine
- Responsibilities: Reviewing operational analytics and sensitive data.
- Access: Restricted access to sensitive modules.
5. Visuals Colors and Theme
Color Palette:
- Background: #F9FAFB (Cloud White)
- Surface: #FFFFFF (Stellar White)
- Text: #1A202C (Deep Space Black)
- Accent: #FF6B35 (Mars Ember Orange)
- Muted Tones: #CBD5E0 (Nebula Gray)
The palette reflects a professional yet futuristic aesthetic, inspired by the Mars theme and the clean workflows of ServiceM8.
6. Signature Design Concept
Page 5 of 7
Interactive Galaxy Dashboard
The homepage will feature an interactive galaxy map where each star represents a job, queue, or module. Users can zoom in and out to explore clusters of jobs by stage (e.g., pending quote, awaiting parts). Clicking on a star opens a detailed view of the job, including its lifecycle, assigned technician, and linked parts.
Details:
- Animations: Stars twinkle subtly, and clusters pulse when hovered over.
- Transitions: Smooth zoom and pan effects when navigating the galaxy.
- Color Shifts: Stars change color based on job status (e.g., green for completed, red for overdue).
- Micro-Interactions: Alerts appear as shooting stars, guiding users to urgent tasks.
This design creates an unforgettable first impression while making job management visually intuitive and engaging.
7. Non-Functional Requirements
- Performance: The platform must handle up to 20,000 API requests/day for ServiceM8 integration.
- Scalability: Support for growing inventory (~16,000+ items) and expanding job queues.
- Security: Role-based access control for sensitive operational data.
- Reliability: Real-time sync with ServiceM8, with reconciliation cron as backup.
- Usability: Familiar UI mirroring ServiceM8 to ensure adoption by office staff.
8. Tech Stack
Frontend
Page 6 of 7
Backend
Database
- MySQL (preferred for relational data)
- MongoDB (optional for unstructured data)
AI Models
- GPT 5.4 for user-friendly responses
- Claude 4.6 Opas for note cleanup and parsing
- Google Nano Banana for image generation
AI Tools
- Litellm for LLM routing
- Langchain
Orchestration
- Docker for local development
- Kubernetes for server-side orchestration
Page 7 of 7
9. Assumptions and Constraints
-
Assumptions:
- ServiceM8 APIs will remain stable and accessible.
- Users will provide their own API keys for LLM integrations.
- Office staff are familiar with ServiceM8 workflows.
-
Constraints:
- ServiceM8 API rate limit of 20,000 req/day.
- Webhook payloads from ServiceM8 contain only UUIDs, requiring follow-up GET requests.
- AWS S3 costs for storing part photos must be monitored.
10. Glossary
- ServiceM8: Field service management tool used for job scheduling and technician mobile app.
- LLM: Large Language Model used for automation tasks like note cleanup and parsing.
- RBAC: Role-Based Access Control for managing user permissions.
- API: Application Programming Interface for integrating external systems.
- Webhook: A mechanism for real-time data updates via HTTP callbacks.
This updated SRD incorporates all requested changes, including the removal of the financials page, the addition of an admin panel for user management, and a complete redesign of the inventory page based on the provided reference image. Let me know if further adjustments are needed!
No comments yet. Be the first!