Skip to content

Requirement Specification V1.0

Document Requirement Specification
Specification name: Prestashop Requirement Specification
Author: Tugba Ilhan - Developer, Juha Sirnio - Tester
Version: v1.0
Date: 06.06.2025

Introduction

This project involves the planning, design, and development of a secure and maintainable eCommerce solution built upon the PrestaShop platform. The objective is to provide a scalable, modular, and easily deployable online store environment enriched with security, automation, monitoring, and user management features.

This project is part of a course project in secure web services, and all sensitive or personal information related to organizations, users, or clients is either anonymized or replaced with fictional equivalents.

Primary stakeholders

The primary stakeholders of the ECSP1 platform are online businesses and retailers seeking a secure, scalable, and easy-to-manage eCommerce solution. These are typically:

  • Small to medium-sized enterprises (SMEs)

  • Entrepreneurs launching new online stores

  • Companies requiring reliable order processing and secure transactions

  • Businesses aiming to establish or enhance their digital sales presence

They need a platform that supports custom storefronts, reliable performance, and robust security to serve their customers confidently.

Short description of service/solution

ECSP1 is a robust and scalable eCommerce platform built on PrestaShop to empower businesses in the digital marketplace. The solution offers:

  • Customizable Storefronts – Fully brandable and theme-adjustable design.
  • Secure Transactions – Enhanced security with authentication, encryption, and data protection.
  • Efficient Order Management – Smooth workflows for inventory, orders, and customer management.
  • Scalability – Suitable for businesses ranging from startups to high-volume retailers.
  • Developer-Friendly Architecture – Containerized, CI/CD enabled, API-accessible platform.

Target Users

The platform is designed for a diverse user base:

  • End Users – Customers purchasing goods via the online stores
  • Business Owners – Individuals or companies managing their own online shops
  • Entrepreneurs – Users launching their first eCommerce ventures
  • SMBs – Small and medium-sized businesses transitioning to digital
  • Enterprises – Larger organizations requiring multi-store or high-traffic support

General Stakeholders

  • Investor - Financial backers expecting platform stability and growth
  • Business Owners – Users who manage and operate online stores on the platform
  • Development Team - Responsible for platform implementation, security, and maintenance
  • Integration Service Providers – Offering payment gateways, shipping APIs, analytics, etc.
  • Security Auditors – Ensuring compliance and risk mitigation
  • End Users – Final consumers who use the platform for purchasing

Business Requirements / Needs

The platform must meet several business requirements to ensure success:

ReqID Description Rationale
BUSINESS-REQ-01 Implement user-friendly interface. Design a intuitive and seamless registration and login process that minimizes friction for users A user-friendly interface enhances the overall user experience, making it easier for users to interact with the system. An intuitive registration and login process reduces barriers to entry, encouraging more users to sign up and use the platform.
BUSINESS-REQ-10 Minimize the risk of data breaches and unauthorized access to sensitive information Protecting sensitive information is crucial for maintaining user trust and complying with data protection regulations. Minimizing the risk of data breaches helps prevent financial losses, legal issues, and damage to the company's reputation.
BUSINESS-REQ-11 Maintain a secure and reliable operating environment for all users A secure and reliable operating environment ensures that users can access the system without interruptions or security concerns. This stability is essential for user satisfaction and retention.
BUSINESS-REQ-12 Improve user trust and confidence in the system's security Building user trust and confidence in the system's security measures encourages users to engage more with the platform and share sensitive information, knowing it is protected.
BUSINESS-REQ-31 Ensure the reliability and availability of customer PrestaShop instances with minimal downtime High reliability and availability of PrestaShop instances are critical for business continuity and customer satisfaction. Minimizing downtime ensures that customers can consistently access their online stores, leading to better sales and user experience.
BUSINESS-REQ-33 Enable seamless integration of PrestaShop instances with other business applications and services Seamless integration with other business applications and services enhances the functionality and efficiency of PrestaShop instances. It allows businesses to streamline operations, improve data flow, and provide a more comprehensive service to their customers.
BUSINESS-REQ-61 Ensure comprehensive testing of all user interfaces (frontend and backend) Comprehensive testing of user interfaces helps identify and fix issues before they affect users. This ensures a smooth and error-free experience, which is crucial for user satisfaction and system reliability.
BUSINESS-REQ-63 Integrate testing into the continuous integration/continuous delivery (CI/CD) pipeline Integrating testing into the CI/CD pipeline allows for automated and continuous testing of the system. This helps catch issues early in the development process, reducing the time and cost of fixing bugs and ensuring a higher quality product.
BUSINESS-REQ-64 Generate clear and concise test reports with detailed results and metrics Clear and concise test reports provide valuable insights into the system's performance and quality. Detailed results and metrics help stakeholders make informed decisions and prioritize improvements.

Stakeholder Profiles

ID Stakeholder/Profile Description Motivation/Rationale
STAKEHOLDER-PROF1 Business Owners Person who would like to use eCommerce platform for business Profit
STAKEHOLDER-PROF2 Product Owner Key decision-maker in the product vision Ensures project aligns with business goals
STAKEHOLDER-PROF3 Investors Financial backers who provide funding Potential for financial returns
STAKEHOLDER-PROF4 End Users Consumers who interact with the platform to purchase products or services End Users are motivated by a seamless, efficient, and enjoyable experience that meets their needs and expectations while providing value
STAKEHOLDER-PROF6 Development Team Responsible for implementing, maintaining, and securing the platform, ensuring it meets technical and functional requirements Delivering high-quality solutions on time

Stakeholder map

Diagramt provides a structured overview of all the stakeholders involved in *ECSP1 as a Mind Map Form.

uml diagram

End User / Customer story's as background information

Platform customers

Customer / End User Requirements / Needs

ReqID Description
CUSTOMER-REQ-0001 As a End User, I want to use Gmail authentication for easy login.
CUSTOMER-REQ-0002 As a End User, I need to track my order status in real-time.
CUSTOMER-REQ-0003 As a Business Owner, I want an intuitive dashboard to track sales and inventory.
CUSTOMER-REQ-0004 As a End User, I expect secure checkout with selected payment Gateway
CUSTOMER-REQ-0005 As a Business Owner, I need to manage product categories easily.
CUSTOMER-REQ-0006 As an End User, I want to recover my password easily if I forget it.
CUSTOMER-REQ-0007 As a Business Owner, I want to receive automated reports about site performance.
CUSTOMER-REQ-0008 As an End User, I want to save products to a wishlist for later purchase.
CUSTOMER-REQ-0009 As a Business Owner, I want to schedule regular backups to prevent data loss.
CUSTOMER-REQ-0010 As an End User, I want a multilingual interface so I can use it in my language.

Selected Customer's Journey Paths

Customer journey path as PlantUML Statemachine -diagram

The following diagram represents a typical customer journey path on the ECSP1 eCommerce platform. It outlines each major step taken by an end user, starting from landing on the homepage to the final delivery of their order. The process emphasizes a seamless and secure experience, incorporating product exploration, login, checkout, and order tracking stages.

uml diagram

Selected Use Cases of Our Service's

End User's Use Cases

uml diagram

Some Selected Use Case's as a table

Use Case Domain
UC1 - Login to platform User Management
UC2 - Place Order Buying process
UC3 - New User Register User Management
UC4 - Track Shipment Order Management
UC5 - View Order History Order Management
UC6 - Add Product to Store Product Management
UC7 - Apply Discount Code Checkout
UC8 - Make Payment Payment Integration

Preliminary MockUp-prototype layouts for solution/service

--

Mockup Design Example for FEA048 - Customer Feedback Integration

  • Link to FEA48 Mockup

FEA048 - Customer Feedback Integration

System requirements

RequirementsID Description
SYSTEM-HW-REQ-0002 The main services must be at least duplicated N + 1
SYSTEM-HW-REQ-0003 Server memory capacity> 16GB
SYSTEM-HW-REQ-0004 Intel / AMD x64 processor
### Constraints and standards that affect on service design
ReqId Description
CONSTRAINT-REQ-S001 The service should be located in the EU area according to GDPR requirements
CONSTRAINT-REQ-S002 User data must be encrypted both in transit and at rest according to ISO/IEC 27001 standard
CONSTRAINT-REQ-S003 All data processing must comply with national laws regarding accessibility and usability (e.g. WCAG)
CONSTRAINT-REQ-S004 Audit logs must be stored for a minimum of 12 months for traceability purposes

Service primay features and functionalities

Here is link to outline some of basic features of solution/service as a form of mind-map.

**eg. Priorization of essential features / functions **

  • P1 = Mandatory
  • P3 = Required
  • P5 = Nice to have
Feature Priority Description
FEA005 P1 Core DevOps functionality. Automating CI/CD processes is essential for improving development speed and quality.
FEA006 P5 Enhances user experience by simplifying hosting, but not critical for core system functionality.
FEA007 P3 Important for consistent and portable development environments. Facilitates smoother transition to production.
FEA008 P1 HTTPS and password reset are essential for user security and data protection.
FEA010 P3 Valuable for operational visibility and quick debugging. Not critical, but important for system health.
FEA017 P1 Fundamental for container security. Reduces vulnerabilities and ensures best practices in production.

General System Functional Requirements

ReqID Description Affected feature
FUNC-REQ-C0001 System automatically builds and deploys code changes via CI/CD pipeline. FEA005
FUNC-REQ-C0002 Developers can trigger automated tests after each commit. FEA005
FUNC-REQ-C0003 Users can create a PrestaShop store instance with one-click setup. FEA006
FUNC-REQ-C0004 Hosting environment is provisioned automatically with SSL and database. FEA006
FUNC-REQ-C0005 Docker image includes all required PHP extensions for PrestaShop. FEA007
FUNC-REQ-C0006 Developers can mount local code into Docker container. FEA007
FUNC-REQ-C0007 All service endpoints are accessible via HTTPS. FEA008
FUNC-REQ-C0008 Users can reset their password via email link. FEA008
FUNC-REQ-C0009 Developers can view real-time logs from a centralized dashboard. FEA010
FUNC-REQ-C00010 System generates alerts based on log anomalies. FEA010
FUNC-REQ-C00011 Containers run as non-root users by default. FEA017
FUNC-REQ-C00012 Vulnerability scanner is integrated into CI/CD pipeline. FEA017

General Non-Functional System Requirements

Non-functional requirements define the quality attributes of a system, focusing on how the system performs rather than what it does. These requirements ensure that the system is secure, reliable, maintainable, and user-friendly. They are essential for delivering a robust and scalable PrestaShop as a Service platform that meets both technical and user expectations.

ReqID Category Description
NFR-001 Performance The system must support at least 100 concurrent users per store instance without performance degradation.
NFR-002 Scalability The platform must be able to scale horizontally to support increasing numbers of store instances.
NFR-003 Availability The service must maintain 99.9% uptime monthly, excluding scheduled maintenance.
NFR-004 Security All data in transit must be encrypted using HTTPS/TLS 1.2 or higher.
NFR-005 Security Containers must run as non-root users and follow least privilege principles.
NFR-006 Maintainability The system must support automated deployment and rollback to reduce downtime during updates.
NFR-007 Usability The store setup process must be completed in under 5 minutes by a non-technical user.
NFR-008 Monitoring Real-time logging and alerting must be available for all critical services.
NFR-009 Compliance The system must comply with GDPR for handling user data.

Performance / Scalability Requirements

These requirements define how efficiently and reliably the PrestaShop as a Service platform performs under various conditions. They cover aspects such as response time, throughput, scalability, and availability to ensure the system remains responsive, stable, and cost-effective as demand grows. By meeting these criteria, the platform can deliver a seamless experience to users while maintaining operational excellence.

ReqID Requirement Category Description
PERF-REQ-0000 Response Time The service should respond to requests within a specified time frame under normal load conditions < 2 s
PERF-REQ-0001 Throughput The gateway service should be able to handle a certain number of requests per second without degradation of performance
PERF-REQ-0002 Scalability The service should be able to scale up to handle increased load, either by adding more resources (vertical scaling) or by distributing the load across multiple instances (horizontal scaling)
PERF-REQ-0003 Availability The service should be available for use a certain percentage of the time, often expressed as a "five nines" (99.999%) availability requirement
PERF-REQ-0004 Latency The system should maintain an average latency of less than 200 ms for API responses under normal operating conditions.
PERF-REQ-0005 Startup Time The service containers should start and become operational within 30 seconds.
PERF-REQ-0006 Resource Efficiency The system should optimize CPU and memory usage to ensure cost-effective operation under varying loads.
PERF-REQ-0007 Auto-Scaling The system should automatically scale up or down based on CPU/memory thresholds or request volume.
PERF-REQ-0008 Load Balancing The system should distribute incoming traffic evenly across instances to prevent overload on any single node.

Security Requirements

Security requirements define the necessary safeguards a software system must implement to protect data, ensure authorized access, and maintain system integrity. These requirements are often shaped by legal regulations and industry standards, and they help prevent unauthorized access, data breaches, and other security threats. A secure system builds trust and ensures compliance with privacy and cybersecurity expectations.

ReqID Requirement Category Description
SECURITY-REQ-0001 Secure Communication All communication between devices and servers must be encrypted to prevent interception.
SECURITY-REQ-0002 Authentication Firefighters must be authenticated before they can access the system to ensure that only authorized personnel have access.
SECURITY-REQ-0003 Data Integrity The system must ensure that data, such as incident reports or firefighter locations, is not tampered with.
SECURITY-REQ-0004 Authorization Users must only have access to the data and functions necessary for their role (role-based access control).
SECURITY-REQ-0005 Audit Logging All access and changes to sensitive data must be logged for auditing and forensic purposes.
SECURITY-REQ-0006 Session Management User sessions must expire after a period of inactivity and require re-authentication.
SECURITY-REQ-0007 Data Encryption at Rest Sensitive data stored in the system must be encrypted to prevent unauthorized access.
SECURITY-REQ-0008 Vulnerability Management The system must be regularly scanned for vulnerabilities and patched in a timely manner.

Accessability Requirements

These requirements ensure that the system is perceivable, operable, understandable, and robust for users with diverse abilities. Meeting accessibility standards not only improves usability for all users but also helps ensure legal compliance and inclusivity.

ReqID Requirement Category Description
ACCESSABILTY-REQ-0000 Keyboard Accessibility All functionality must be operable through a keyboard interface.
ACCESSABILTY-REQ-0001 Text Alternatives Provide text alternatives for any non-text content.
ACCESSABILTY-REQ-0002 Time-based Media Provide alternatives for time-based media, such as captions for videos.
ACCESSABILTY-REQ-0003 Contrast Ratio Text and interactive elements must have a contrast ratio of at least 4.5:1 against their background.
ACCESSABILTY-REQ-0004 Resizable Text Users must be able to resize text up to 200% without loss of content or functionality.
ACCESSABILTY-REQ-0005 Error Identification Input errors must be clearly identified and described to the user in text.

Quality Assurance

From a quality assurance perspective, it is important to ensure that all functional and non-functional requirements are testable, traceable, and verifiable. This includes comprehensive test coverage, performance and security validation, usability checks, and robust error handling. Effective QA also involves automation, continuous integration, and clear documentation to maintain product reliability and user satisfaction.

Software architecture, placement view, database description, and integrations

The system is built on a modular, service-oriented architecture using Docker and Kubernetes for scalability and maintainability. Components are deployed across cloud environments (dev, staging, prod) with load balancing and monitoring in place. A relational database (e.g., MySQL) is used for core data, with optional NoSQL support for caching. The platform integrates securely with third-party services like payment gateways, email providers, and analytics tools.

Preliminary Release Plan for the service

The release plan defines how and when new features, updates, or fixes will be delivered to users. It includes versioning strategy, deployment schedule, release frequency (e.g., monthly, quarterly), and responsible teams.

Standards and sources

  1. General Data Protection Regulation (GDPR): This regulation protects privacy and gives individuals control over their personal data.
  2. ePrivacy Directive: This directive complements the GDPR and provides rules on confidentiality of communications and tracking technologies such as cookies.
  3. Directive on the legal protection of computer programs ('Software Directive'): This directive protects computer programs by means of copyright.
  4. Directive on the enforcement of intellectual property right ('IPRED'): This directive enforces intellectual property rights.
  5. Directive on the legal protection of databases ('Database Directive'): This directive protects databases.
  6. EU Cybersecurity Act: This act ensures safer hardware and software.
  7. Digital contract rules: These rules make it easier for consumers and businesses to buy and sell digital content, digital services, goods, and 'smart goods' in the EU.

Please note that these are just a few examples and the specific laws and rules may vary depending on the context and the specific needs of your software service. It's always a good idea to consult with a legal expert to ensure compliance with all relevant laws and regulations.