Page 1 of 7
System Requirements Document (SRD)
Project Name: happy-procurement
1. Introduction
The happy-procurement project is designed to automate the identification, extraction, deduplication, prioritization, and reporting of tender opportunities in Sudan related to solar energy and humanitarian NGO procurement. This document outlines the system requirements for the project, ensuring that it meets the needs of its users, including automated reporting capabilities as requested by Samir Salah. The system will operate with precision and reliability, adhering to strict data capture and normalization rules while delivering actionable insights every 12 hours.
The project is tailored for automated reporting, ensuring seamless delivery of structured outputs via APIs supervised by an automated reporting supervisor.
Page 2 of 7
2. System Overview
The happy-procurement system is an automated procurement intelligence platform tailored for solar energy and humanitarian tenders in Sudan. It integrates multi-layered search strategies, data normalization, and prioritization algorithms to deliver structured outputs in real-time. The system is designed to run autonomously, ensuring timely reporting and compliance with user-defined filters and rules.
Key features include:
- Automated tender discovery and reporting every 12 hours.
- Deduplication and normalization of tender data.
- Prioritization based on urgency flags (🔴, 🟡, 🟢).
- Delivery of structured outputs in CSV and PDF formats.
- Integration with APIs for seamless data extraction and reporting.
- Automated reporting supervised by API controllers to ensure reliability and precision.
3. Functional Requirements
Page 3 of 7
User Stories:
- As a User, I should be able to receive automated reports every 12 hours.
- As a User, I should be able to view tenders sorted by urgency (🔴, 🟡, 🟢).
- As a User, I should be able to access structured outputs in CSV and PDF formats.
- As a User, I should be able to track tender updates, including deadline extensions and addenda.
- As a User, I should be able to filter tenders by geography, buyer type, and themes.
- As a User, I should be able to view normalized data, including dates, currency values, and technical specifications.
- As a User, I should be able to access live links to tender pages and documents.
- As a User, I should be able to receive failure handling suggestions when no tenders are found.
- As a User, I should be able to monitor run timestamps in both UTC and Sudan local time (CAT/UTC+2).
- As an API Supervisor, I should be able to ensure automated reporting runs are pre-resolved and error-free.
4. User Personas
1. Procurement Analyst
- Role: Monitors tender opportunities and ensures compliance with procurement rules.
- Needs: Accurate, timely, and structured tender data.
2. NGO Bid Manager
- Role: Oversees bid preparation and submission for humanitarian projects.
- Needs: Detailed tender specifications and prioritization based on deadlines.
3. Automated Reporting Supervisor
- Role: Ensures the system runs smoothly and delivers outputs on schedule.
- Needs: Reliable automation and failure handling mechanisms.
Page 4 of 7
5. Visuals Colors and Theme
Color Palette:
The theme for happy-procurement reflects professionalism and clarity, with a focus on solar energy and humanitarian aid.
- Background: #F5F9FF (Solar Sky White)
- Surface: #DDE4F2 (Soft Horizon Gray)
- Text: #2B2B2B (Midnight Charcoal)
- Accent: #FFC700 (Radiant Solar Gold)
- Muted: #B0B8C8 (Calm Blue Gray)
6. Signature Design Concept
Concept: Interactive Solar Map Homepage
The homepage will feature an interactive solar map of Sudan, highlighting active tenders across all 18 states. Users can hover over each state to view tender summaries, urgency flags, and deadlines.
Key Features:
- Dynamic Animations: The map will pulse with solar energy visuals, transitioning from day to night modes based on the user's local time.
- Micro-Interactions: Clicking on a state will zoom into a detailed view, showing tender locations, buyer types, and scope of work.
- Color Shifts: Urgency flags (🔴, 🟡, 🟢) will glow subtly, drawing attention to critical deadlines.
- Solar Theme: The background will feature a gradient of solar gold and soft white, with animated rays radiating outward.
This design ensures the homepage is visually captivating while providing immediate access to actionable data.
Page 5 of 7
7. Non-Functional Requirements
- Performance: The system must process and deliver outputs within 30 minutes per run.
- Scalability: Support for additional themes and buyer types without system degradation.
- Reliability: 99.9% uptime for automated reporting.
- Security: Data encryption for sensitive tender information.
- Localization: Support for Arabic and English search patterns.
- Automation: API controllers must ensure error-free reporting cycles.
8. Tech Stack
Frontend:
Backend:
Database:
- MySQL (preferred for structured data)
- Alembic for migrations
AI Models:
- GPT 5.4 for user-friendly responses
Page 6 of 7
AI Tools:
- Langchain
- Litellm for LLM Routing
Orchestration:
- Docker for local orchestration
- Kubernetes for server-side orchestration
9. Assumptions and Constraints
Assumptions:
- The system will operate in Sudan's local timezone (CAT/UTC+2).
- All tenders will have verifiable source links.
- Users will primarily access outputs in CSV and PDF formats.
Constraints:
- Restricted portals may require manual registration or VPN access.
- Arabic search patterns may yield fewer results due to limited portal support.
Page 7 of 7
10. Glossary
- Tender: A formal offer to supply goods or services.
- RFP: Request for Proposal.
- RFQ: Request for Quotation.
- EPC: Engineering, Procurement, and Construction.
- CAT: Central Africa Time (UTC+2).
- Deduplication: The process of removing duplicate records.
- Normalization: Standardizing data formats for consistency.
- API Supervisor: An automated controller ensuring error-free reporting cycles.
No comments yet. Be the first!