Page 1 of 7
System Requirements Document (SRD)
Project Name: Storm-Vehicle
1. Introduction
The Storm-Vehicle project is a full-stack web application designed to provide emergency roadside assistance to vehicle owners in India. The system connects users with nearby service providers (mechanics) to ensure timely and efficient support during vehicle breakdowns.
This document outlines the system requirements for the Storm-Vehicle application, incorporating both modern and legacy backend technologies to ensure scalability, real-time functionality, and compatibility with existing systems.
Page 2 of 7
2. System Overview
The Storm-Vehicle application is a comprehensive solution for vehicle breakdown assistance. It enables users to submit service requests, track their status, and connect with nearby mechanics. Service providers can view and accept requests, update job statuses, and receive ratings/reviews. Admins oversee the system, manage users and service providers, and analyze service data.
The system will leverage Node.js (Express) for modern scalability and real-time features, while maintaining PHP for legacy compatibility where needed.
Key features include:
- Real-time notifications for users and service providers.
- Google Maps API integration for location tracking.
- A rating and review system to ensure quality service.
- Mobile-responsive design for seamless use across devices.
3. Functional Requirements
User Module
- As a User, I should be able to register and log in.
- As a User, I should be able to submit a breakdown request with location, vehicle type, and issue description.
- As a User, I should be able to view the status of my request (pending, accepted, completed).
Page 3 of 7
Service Provider Module
- As a Service Provider, I should be able to register and log in.
- As a Service Provider, I should be able to view nearby breakdown requests.
- As a Service Provider, I should be able to accept or reject requests.
- As a Service Provider, I should be able to update the job status.
Admin Dashboard
- As an Admin, I should be able to manage users and mechanics.
- As an Admin, I should be able to view all service requests.
- As an Admin, I should be able to approve or block service providers.
- As an Admin, I should be able to view analytics (total requests, completed jobs).
Booking System
- As a User, I should be able to create and manage service requests.
- As an Admin, I should be able to assign mechanics automatically or manually.
- As a User, I should be able to track the real-time status of my request.
Additional Features
- As a User, I should be able to see my location on Google Maps.
- As a User, I should receive real-time notifications for updates.
- As a User, I should be able to rate and review mechanics.
- As a User, I should have access to an emergency contact button.
4. User Personas
Page 4 of 7
Admin
- Oversees the system and ensures smooth operations.
- Manages users, service providers, and service requests.
- Monitors analytics and blocks/approves service providers.
Customer/User
- Vehicle owners who require roadside assistance.
- Submits breakdown requests and tracks their status.
- Rates and reviews service providers.
Service Provider (Mechanic)
- Mechanics who provide roadside assistance.
- Accepts/rejects service requests and updates job statuses.
- Builds reputation through ratings and reviews.
5. Visuals Colors and Theme
Color Palette
The Storm-Vehicle application will use a bold and dynamic color palette to evoke urgency and reliability:
- Background: #F3F4F6 (Soft Gray)
- Surface: #FFFFFF (Pure White)
- Text: #1F2937 (Charcoal Black)
- Accent: #FF5722 (Emergency Orange)
- Muted Tones: #9CA3AF (Neutral Gray)
Page 5 of 7
6. Signature Design Concept
Interactive Dashboard with Real-Time Map Integration
The homepage will feature a live interactive map powered by Google Maps API. Users will see their current location marked with a pulsating pin, and nearby service providers will appear as dynamic icons that move in real time.
When a user submits a breakdown request, the map will animate to highlight the route between the user and the assigned mechanic. Micro-interactions will include:
- Hover Effects: Pins and icons will expand slightly when hovered over.
- Transitions: Smooth zoom-in and zoom-out animations when navigating the map.
- Notifications: Real-time updates will appear as pop-ups on the map (e.g., "Mechanic is on the way").
The design will also include a dark mode toggle, with the map adapting to a nighttime aesthetic for better visibility during late hours.
7. Non-Functional Requirements
- Scalability: The system must handle high traffic during peak hours.
- Performance: Real-time notifications should have minimal latency.
- Security: Implement JWT authentication and password hashing.
- Compatibility: Ensure seamless integration with legacy systems using PHP.
- Accessibility: The UI must be mobile-responsive and adhere to accessibility standards.
8. Tech Stack
Page 6 of 7
Frontend
- React for Web
- React Native for Mobile
Backend
- Node.js (Express) for scalability and modernity
- PHP for legacy compatibility
Database
- MySQL for relational data
- MongoDB for unstructured data
AI Models
- GPT 5.4 for user-friendly responses
- Google Nano Banana for image generation
AI Tools
- Litellm for LLM Routing
- Langchain
Orchestration
- Docker and docker-compose for local development
- Kubernetes for server-side orchestration
Page 7 of 7
9. Assumptions and Constraints
Assumptions
- Users will have access to smartphones with GPS functionality.
- Service providers will have basic technical knowledge to use the app.
- Internet connectivity will be available for all users.
Constraints
- Real-time notifications depend on WebSocket or Firebase integration.
- Google Maps API usage may incur additional costs.
- PHP integration may require additional testing for compatibility.
10. Glossary
- GPS: Global Positioning System used for location tracking.
- JWT: JSON Web Token, a method for securely transmitting information.
- WebSocket: A protocol for real-time communication between client and server.
- Google Maps API: A service for embedding maps and location-based features.
- Docker: A tool for containerizing applications.
- Kubernetes: A system for automating deployment, scaling, and management of containerized applications.
This concludes the updated System Requirements Document for the Storm-Vehicle project. Let me know if further refinements are needed, Chandu!
No comments yet. Be the first!