Skip to content

eCommerce Server Platform V1.0 Requirement Specification

Document Requirement Specification
Specification name eCommerce Server Platform V1.0 Requirement Specification
Author: LinearB
Version: 1.00
Date: 18.02.2025

Introduction

This project involves the development and deployment of an e-commerce platform using PrestaShop, hosted on a cPouta server. The primary objective is to create a steady and scalable online marketplace similar to established platforms such as Amazon, focusing on delivering a seamless shopping experience for users. PrestaShop, being a highly customizable and feature-rich open source e-commerce solution, serves as the backbone of the service, ensuring flexibility in design and functionality.

This project caters to customers diverse needs while ensuring reliability, security, and user friendliness. The service environment will ensure optimal performance, scalability, and data privacy, aligning with the project's technical and operational requirements.

As this is an early-stage initiative, many details regarding the product categories, target audience, and operational workflows are still under discussion. The focus remains on developing a standardized yet adaptable e-commerce solution capable of expanding and evolving alongside the business's needs.

Client

At the moment we are looking for an investor to help us develop a web shop platform to be sold as service to our future clients.

The client is a business entity seeking to establish or enhance its online retail presence using an e-commerce platform. This business will subscribe to the services provided by our team and utilize the platform to sell products directly to their customers.

About the author and project team

We are LinearB, a dedicated and versatile group of developers passionate about creating innovative and secure software solutions. As a team, we bring together expertise in project management, service design, development, testing, and cybersecurity. This collaboration ensures our ability to deliver high-quality, user-centered solutions tailored to meet the needs of modern businesses.

Our Vision is to set a benchmark in delivering impactful software solutions while showing the power of collaboration and diversity in achieving extraordinary results.

More information on our team is available at LinearB homepage or LinearB introduction page.

Description of service

The service is a PrestaShop-based e-commerce platform that allows businesses to efficiently create and manage online stores. It is designed to be scalable, customizable, and secure, targeting primarily to small and medium-sized enterprises (SMEs) aiming to expand their presence in the digital marketplace.

Therefore, potential users are business owners (SMEs) seeking to establish and maintain an online store. Another group could be existing e-commerces that wish to optimize or/and update their existing system.

The capabilities of the service are related to the features:

Feature Link
Feature 002 Secure service access
Feature 003 Dockerized Service Production
Feature 010 Integrate with a vulnerability scanning tool
Feature 023 Integrate with version control systems (e.g., Git)
Feature 081 Ensure efficient bug reporting and triage processes.
Feature 192 Integration with Popular Gateways

The cost for our service will include:

Fee Type Explanation
Setup/Onboarding One-Time Covers the initial configuration of service, account setup, and/or some basic training.
Implementation One-Time Integration with the client's existing systems.
Customization/Configuration One-Time Any bespoke adjustments or custom configurations the client might need.
Data Migration One-Time Moving data from legacy systems into our platform.
Subscription Recurring (Monthly) The core fee for ongoing access to the software, tiered based on features, number of users, and/or usage levels.
Maintenance/Support Recurring (Monthly) Basic support is included in the subscription, but enhanced support comes with an additional monthly cost.
Feature 192 Recurring (Monthly) Based on the payment gateway providers fees.

Business requirements

ReqID Description
BR004 We want to ensure that bug fixes are handled efficiently and effectively, preserving the overall quality and performance of the system.
BR010 Minimize the risk of data breaches and unauthorized access to sensitive information.
BR012 Improve user trust and confidence in the system's security.
BR031 Ensure the reliability and availability of customer PrestaShop instances with minimal downtime.
BR032 Offer a wide range of pre-integrated payment gateways to meet the diverse need of customers.
BR033 Enable seamless integration of PrestaShop instances with other business applications and services.

Stakeholder map

Internal and External Stakeholders

Stakeholders are individuals, groups, or organizations that have an interest in or are affected by a project, business, or service. They can be categorized into internal stakeholders, who are directly involved in the company’s operations and decision-making, and external stakeholders, who interact with the business from outside but still have a vested interest in its success.

uml diagram

Stakeholders and profiles

Internal Stakeholders

These are people or groups directly involved in the development, management, and execution of the eCommerce platform.

ID Name Description Motivation
SR-001 LinearB Developers responsible for building and maintaining the eCommerce platform. Ensure high-quality software, gain experience, and innovate.
SR-002 Product Owner Defines the vision, prioritizes tasks, and aligns work with business goals. Deliver a market-fit product while ensuring profitability.
SR-003 Scrum Master Facilitates agile processes, removes obstacles, and supports team efficiency. Improve workflow, foster collaboration, and ensure project success.
SR-004 Mentors Experts providing guidance, feedback, and technical expertise. Support learning, ensure best practices, and drive innovation.

External Stakeholders

These are individuals or organizations outside of the company that interact with or are affected by the eCommerce platform.

ID Name Description Motivation Defined Examples
SR-005 Customers Businesses and individuals using the e-commerce platform for transactions. Efficiently sell and buy products online. - Sampsa Piili, a business owner expanding his Lego store through PrestaShop. - Annukka Rosendahl, a customer buying Legos for her grandson. - Ilro Rosendahl, a Lego enthusiast receiving gifts.
SR-006 Partners Shipping companies (DHL, Matkahuolto, Posti) and payment gateways (PayPal, Paytrail). Ensure reliable logistics and payment processing. - Payments Gateways such as Paytrail or Paypal- Delivery companies such as Posti, Matkahuolto, DHL, etc.
SR-007 Government Regulatory bodies like the tax office. Ensure compliance with laws and taxation regulations. Tax Office, overseeing sales tax compliance.
SR-008 Competitors Other eCommerce providers and platforms. Compete for market share and innovation. - Magento - Solteq
SR-009 Investors Business angels like Onni Santala who provide seed funding. Expect a return on investment and business growth. Onni Santala, a business angel offering seed funding.
SR-010 Lenders Banks or financial institutions providing loans. Secure loan repayment with interest and financial stability. OP bank

Customer story's as background information

Customer story's are not relevant for this project. We are designing a product for a business and their needs are recorded in Business Requirements. Customer and it's need become relevant when the web shop service is customized to meet the needs of the customers of our customer.

Customer Journey paths in Service

This journey map describes how a consumer discovers a web shop that is using our PrestaShop based service. The map continues on describing how the customers journey will progress through adding items, registration, payment and placing the order, getting delivery and finally giving customer feedback.

uml diagram

User Story's

User Story ID Description / link to issue Issue number
US007 As a security officer, I want this automated scanner to correctly report vulnerabilities in line with their severity and offer mitigation strategies where possible, to help me prioritize and address these issues appropriately. #165
US010 As a developer, I want to be notified of critical security vulnerabilities in our dependencies, so that I can quickly update them and minimize our risk. #163
US015 As product owner I would like to integrate Paytrail as payment service. #174
US019 As a developer, I want to be able to check last reported bugs from issue tracker. #166
US030 As an Operations engineer, I want to fetch the latest, stable production code from the version control system so I can deploy or rollback in case of any changes. #171
US032 As a Team Leader, I want to track commits made by my team members to ensure proper version control usage. #170
US038 As a project manager I want to see regular reports from the vulnerability scanning tool, providing visibility into our software security practices, and ensuring that we're maintaining good cybersecurity hygiene. #164
US092 As a Service Provider, we need to enable HTTPS. #182
US094 As a Developer, I would like to use Containers during development. #180
US095 As a Service Operator, I would like to be able to run service in Containers. #181
US97 As a developer, I would like to get enough information about the problem (recorded in bug report), so I can reproduce bugs, so that they can be quickly addressed. #167
US98 As a developer I would like to filter new bugs from old ones by the label. #169
US99 As developer, I would like to be able to link my commit message with reported bug, so I can link my fix with bug Issue. #168
US101 As a Developer, I would like to use Git Branching for Bug Fixing. #172
US121 As a Developer, I want to create a password reset function, so that users can regain access if they forget their password. #183
US191 As a store owner, I want to easily integrate with a wide range of popular payment gateways. #175
US192 As a store owner, I want to offer a secure and seamless checkout experience to my customers. #173
US210 As a PrestaShop developer, I want to easily integrate my preferred database MariaDB, with my local PrestaShop development environment using Docker Compose. #179
US211 As a PrestaShop developer, I want to mount my local code into the Docker container to easily make changes and see them reflected immediately. #178
US212 As a PrestaShop developer, I want to use presta-configured Docker image that includes all the necessary PHP extensions and libraries for PrestaShop development. #177

System Requirements

This section defines the high-level technical and production requirements for the web shop platform. The solution is implemented as a hosted Software as a Service (SaaS) and leverages cloud infrastructure to offer a scalable, secure, and cost-effective e-commerce solution.

Service Production Model

  • Service Model:
    The web shop platform is offered as a hosted SaaS solution based on PrestaShop. This model allows customers to access the platform via the web without the need to manage hardware or software updates.

  • Infrastructure:
    The solution will be deployed on a cloud service provider to take advantage of scalability, redundancy, and cost-effective resource management.

  • Hybrid Service Integration:
    Although the core platform is cloud-hosted, the design allows for integration with external services such as payment gateways, inventory systems, and shipping providers, effectively creating a hybrid service environment.

  • Availability & SLA:
    The platform is designed for near 24/7 operation with a target uptime of 99.9%. A formal Service Level Agreement (SLA) will be established to define maintenance windows, support response times, and redundancy measures (N+1 architecture).

  • Cost Efficiency:
    By utilizing cloud services, the system can dynamically allocate resources based on demand. This approach minimizes upfront hardware investments and operational costs while ensuring optimal performance.

  • Data Storage & Archiving:
    Customer and transactional data will be stored in a cloud-based database with automated backup and archiving procedures in place. The solution will adhere to data protection and retention policies suitable for e-commerce applications.

  • Security & Compliance:
    The platform will implement industry-standard security measures, including encrypted data transmission, secure payment processing (compliant with PCI-DSS), and regular security audits to protect customer data.

System Environment Requirements

The following table outlines the hardware, runtime, and operational requirements necessary to support the web shop platform:

RequirementsID Description
SYSTEM-SVC-REQ-0001 The service shall be implemented as a hosted SaaS solution using a cloud-based infrastructure.
SYSTEM-SVC-REQ-0002 The primary services must be duplicated (N+1 redundancy) to ensure high availability and fault tolerance.
SYSTEM-HW-REQ-0003 Server instances must be provisioned with a minimum of 16GB of memory and an appropriate CPU to handle expected traffic loads.
SYSTEM-HW-REQ-0004 The hardware infrastructure shall be based on Intel/AMD x64 architecture.
SYSTEM-DATA-REQ-0005 Data shall be stored in a secure, cloud-based environment with automated backups and archiving capabilities.
SYSTEM-PERF-REQ-0006 The system must support a predefined concurrent user load (to be determined based on market research) with response times below 2 seconds for standard operations.
SYSTEM-SLA-REQ-0007 A Service Level Agreement (SLA) shall guarantee a 99.9% uptime, detailing maintenance windows, support response times, and recovery procedures.
SYSTEM-SEC-REQ-0008 The platform must comply with industry security standards, including PCI-DSS for payment processing and encryption for data both in transit and at rest.

Below is an example of the "Constraints and Standards that Affect Service Design" section tailored for your web shop platform intended for use in Finland:


Constraints and Standards that Affect Service Design

The design and implementation of the web shop platform are subject to a range of laws, regulations, and standards. Given that the service will be used in Finland, it must adhere to both European Union and local Finnish requirements. These constraints impact areas such as data protection, privacy, accessibility, and security. It is essential to identify these early in the development process to avoid costly rework later and to ensure compliance with relevant standards.

Key regulatory and standards-related constraints include:

  • EU General Data Protection Regulation (GDPR):
    The platform must comply with GDPR, ensuring that all personal data is collected, processed, and stored with the user's explicit consent, and that adequate measures are in place to protect user privacy.

  • Finnish National Legislation:
    Finnish data protection laws and e-commerce regulations must be observed, including requirements on consumer rights, transaction security, and electronic communications.

  • Accessibility Standards:
    The platform should meet international accessibility standards (such as WCAG 2.1) to ensure that it is usable by individuals with disabilities.

  • Security Standards:
    Implementation of industry-standard security protocols is required. This includes secure login processes, encrypted data transmission, and compliance with any payment card industry standards where applicable.

The table below outlines the key constraints and standards that will impact the service design:

ReqId Description
CONSTRAINT-REQ-S00000 The service login process must adhere to secure authentication policies as defined by the latest industry best practices and relevant local security standards.
CONSTRAINT-REQ-S00001 The platform must be compliant with the EU GDPR, ensuring proper handling of personal data, obtaining explicit user consent, and providing data access rights.
CONSTRAINT-REQ-S00002 The solution must comply with Finnish national laws regarding e-commerce, including consumer protection and electronic transaction security.
CONSTRAINT-REQ-S00003 The service interface must meet WCAG 2.1 Level AA accessibility standards to ensure usability for all users, including those with disabilities.
CONSTRAINT-REQ-S00004 Payment processing must comply with PCI-DSS requirements and any additional Finnish financial regulations applicable to online transactions.

Service Primary Features

The web shop platform will provide a set of essential functionalities that support secure access, efficient service production, and integration with external systems. The following are the primary features and functionalities planned for the service:

  • Secure Service Access:
    Users will have access to the platform through a secure authentication process that adheres to current industry standards and security best practices.

  • Dockerized Service Production:
    The platform will be built using Docker containers to streamline deployment, scalability, and management of the underlying services.

  • Vulnerability Scanning Integration:
    The system will integrate with a vulnerability scanning tool to help maintain high security standards by identifying and mitigating risks.

  • Version Control System Integration:
    Integration with popular version control systems (e.g., Git) will be provided to support code management and continuous delivery practices.

  • Efficient Bug Reporting and Triage:
    The platform will include features that allow users to report bugs efficiently, ensuring that issues are tracked, prioritized, and resolved in a timely manner.

  • Integration with Popular Payment Gateways:
    The service will offer seamless integration with various payment gateways, ensuring secure and efficient transaction processing for online purchases.

The following PlantUML mind map illustrates the core structure of the product's features:

uml diagram

Prioritization of essential features

  • P1 = Mandatory
  • P3 = Required
  • P5 = Nice to have
Feature Priority
Feature 002 - Secure service access P1
Feature 003 - Dockerized Service Production P1
Feature 010 - Integrate with a vulnerability scanning tool P3
Feature 023 - Integrate with version control systems (e.g., Git) P3
Feature 081 - Ensure efficient bug reporting and triage processes. P3
Feature 192 - Integration with Popular Gateways P1

Service non-functional requirements

The following non-functional requirements ensure that the system meets quality attributes beyond its functional behavior. These requirements address performance, usability, security, maintainability, and scalability, helping to identify potential bottlenecks and guiding system design.

ReqID Description Category
NFR-REQ-S0001 The system shall support a minimum of 500 concurrent users without performance degradation. Performance
NFR-REQ-S0002 The average response time for all user actions under normal load shall be less than 2 seconds. Performance
NFR-REQ-S0003 The platform shall maintain an uptime of at least 99.9% per month, with scheduled maintenance communicated in advance. Performance / Availability
NFR-REQ-S0004 All data transmitted between the client and server must be encrypted using TLS 1.2 or higher. Security
NFR-REQ-S0005 The system shall store sensitive data in an encrypted format, both at rest and in transit. Security
NFR-REQ-S0006 The user interface shall follow WCAG 2.1 Level AA accessibility guidelines to ensure that the platform is usable by individuals with disabilities. Usability
NFR-REQ-S0007 The platform’s codebase shall be documented and structured in a modular fashion to facilitate maintainability and future enhancements. Maintainability
NFR-REQ-S0008 The deployment environment shall support continuous integration and continuous deployment (CI/CD) to enable rapid bug fixes and feature updates. Maintainability
NFR-REQ-S0009 The system shall be scalable both vertically and horizontally to accommodate increased loads without significant rearchitecture. Scalability
NFR-REQ-S0010 Logging and monitoring must be implemented to track performance metrics and detect anomalies, with alerts generated for any deviations from normal parameters. Maintainability / Operations

Performance Requirements

ReqID Requirement Description
PERF-REQ-0000 Response Time The gateway service should respond to requests within a specified time frame under normal load conditions.
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 gateway service should be able to scale up to handle increased load, either by adding more resources (vertical scaling) or by distributing the load horizontally.
PERF-REQ-0003 Availability The gateway 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 Resilience The gateway service should be able to recover quickly from failures and continue to function.

Security Requirements

ReqID Requirement Description
SEC-REQ-0001 Secure Communication All communication between clients and servers must be encrypted using protocols such as TLS to prevent interception and ensure data confidentiality.
SEC-REQ-0002 Authentication All users must be authenticated using secure methods (e.g., multi-factor authentication) before accessing protected areas of the system.
SEC-REQ-0003 Data Integrity The system must ensure that critical data (e.g., transaction records, user details) is protected from unauthorized modification and remains accurate.
SEC-REQ-0004 Access Control Access to system resources must be restricted based on user roles and permissions, ensuring that only authorized personnel can perform sensitive operations.
SEC-REQ-0005 Audit Logging The system shall maintain detailed audit logs of security-related events to facilitate monitoring, forensic analysis, and compliance reporting.

Quality Assurance

To be updated.

Preliminary Acceptance Tests

To be updated.

Software architecture, placement view, database description, and integrations

  • Software Architecture: The overall structure of the Prestashop service, including components, their interactions, and technologies used (e.g., Docker, Ubuntu VM, cPouta).

  • Placement View: A representation of where different components (e.g., Prestashop, database, Docker, and supporting services) are deployed within the infrastructure (Ubuntu VMs on cPouta).

  • Database Description: Details about the database used by Prestashop (in our case MariaDB), including schema design, data storage, and connections.

  • Integrations: How Prestashop connects with other services, such as payment gateways, shipping providers, or external APIs.

Our setup

  • cPouta: Provides cloud-based virtual machines for hosting your services.

  • Ubuntu VM: Running as a host machine where Docker is installed.

  • Docker: Used to containerize the Prestashop application, making deployment and management more efficient.

  • Challenges: Ensuring correct networking, database connections, and persistent storage between Dockerized Prestashop and its dependencies within the Ubuntu VM.

Deployment diagram

A visual representation of how the Prestashop service is deployed within cPouta, including the Ubuntu VM, Docker containers, networking, and connections to external systems (e.g., database, storage, APIs).

uml diagram

Integrations with other systems

Prestashop typically integrates with payment gateways (e.g., PayPal, Stripe), shipping services (e.g., DHL, FedEx), ERP systems, and other e-commerce tools. Our setup may also involve API integrations for managing products, orders, or user authentication.

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.