Page 1 of 4
System Requirements Document (SRD)
Project Name: ruby-app
1. Introduction
The ruby-app is a sales tracking and management application designed for Muhammad Maaz and his team in the UAE. This app aims to provide a streamlined way to record sales, track profits, manage product prices, add offers, and analyze sales performance. With support for multiple user roles, the app ensures that both administrators and regular users can efficiently manage their tasks while maintaining data security and organization.
This document outlines the system requirements for the ruby-app, ensuring clarity and alignment with Muhammad's vision for the project.
2. System Overview
The ruby-app is a web and mobile application that acts as a mini CRM tailored for small businesses. It allows users to:
- Record sales transactions, including details of products sold and buyers.
- List and manage product prices.
- Add and manage promotional offers.
- View detailed reports on profits and sales performance.
The system will support multiple user roles, including administrators and regular users, ensuring that data access and management are role-specific. The app will be optimized for the UAE locale, incorporating AED currency, local time zones, and business practices.
3. Functional Requirements
As User:
- As User I should be able to make a record of how much I sell.
- As User I should be able to record to whom I sell.
- As User I should be able to list the price of a product.
- As User I should be able to add offers.
- As User I should be able to see profits and sales.
Page 2 of 4
As Admin:
- As Admin I should be able to manage user roles and permissions.
- As Admin I should be able to view detailed reports on sales and profits.
- As Admin I should be able to create and manage promotional campaigns.
As Guest:
- As Guest I should be able to view public offers and product details.
4. User Personas
Admin:
The Admin is the owner or manager of the business (e.g., Muhammad Maaz). They have full control over the app, including managing users, viewing detailed reports, and creating offers.
Regular User:
Regular Users are team members who log sales transactions and interact with the system to record data. They have limited access compared to Admins.
Guest:
Guests are external users who can view public offers and product details but cannot interact with the system beyond this scope.
5. Visuals Colors and Theme
Color Palette:
The ruby-app will feature a vibrant yet professional color palette that reflects the energy of sales and business management:
- Background: #F9F5F2 (Soft Beige)
- Surface: #FFFFFF (Pure White)
- Text: #2B2D42 (Deep Charcoal)
- Accent: #E63946 (Ruby Red)
- Muted Tones: #A8DADC (Soft Aqua)
These colors are chosen to create a clean, modern, and engaging interface that aligns with the app's purpose and Muhammad's business goals.
6. Signature Design Concept
Page 3 of 4
Concept: Interactive Sales Dashboard with Dynamic Ruby Animations
The ruby-app homepage will feature a bold and unforgettable design: a dynamic sales dashboard with interactive ruby-shaped animations.
- Visuals: The dashboard will have a central ruby gem that pulsates and glows based on sales performance metrics. As profits increase, the ruby will grow brighter and larger, creating a visual representation of success.
- Animations: Hovering over sections (e.g., "Sales," "Offers," "Profits") will cause ruby fragments to scatter and reassemble, guiding users to the respective pages.
- Micro-interactions: Buttons and icons will have subtle ruby-colored glows when clicked, enhancing the user experience.
- Transitions: Smooth transitions between pages will mimic the facets of a ruby, creating a polished and cohesive feel.
This design will make the ruby-app instantly fascinating and memorable, ensuring users feel engaged and motivated every time they interact with the platform.
7. Non-Functional Requirements
- Performance: The app must load within 2 seconds for all pages.
- Scalability: The system should support up to 10,000 users simultaneously.
- Security: Implement role-based access control (RBAC) to ensure data privacy.
- Localization: Default currency is AED, and the system will support Arabic and English languages.
- Availability: The app must maintain 99.9% uptime.
8. Tech Stack
Frontend:
- React for Web
- React Native for Mobile
Backend:
Database:
- MySQL (preferred) or MariaDB for relational data
- MongoDB for NoSQL data
AI Models:
- GPT 5.4 for user-friendly responses
- Claude 4.6 Opas for coding and academic tasks
Page 4 of 4
AI Tools:
- Litellm for LLM Routing
- Langchain
Orchestration:
- Docker for local orchestration
- Kubernetes for server-side orchestration
9. Assumptions and Constraints
- The app will primarily serve small businesses in the UAE.
- Users will require internet access to use the app.
- The system will be designed to handle moderate traffic, not enterprise-level loads.
- The app will be optimized for mobile-first usage.
10. Glossary
- CRM: Customer Relationship Management system.
- RBAC: Role-Based Access Control, a method of restricting system access based on user roles.
- AED: United Arab Emirates Dirham, the currency used in the UAE.
- FastAPI: A modern web framework for building APIs with Python.
- Docker: A platform for developing, shipping, and running applications in containers.
- Kubernetes: An open-source system for automating deployment, scaling, and management of containerized applications.
This document serves as the foundation for the development of the ruby-app, ensuring all requirements are clearly defined and aligned with Muhammad Maaz's vision.
No comments yet. Be the first!