Files

2.5 KiB

Requirements Document

Introduction

Funktionsfähiges Email-Sortierer Produkt mit Multi-Step-Formular, Appwrite-Datenspeicherung und Stripe-Bezahlung.

Glossary

  • System: Das Email-Sortierer Web-Applikation
  • Appwrite: Backend-as-a-Service für Datenspeicherung
  • Stripe: Zahlungsanbieter
  • Submission: Kundenantworten auf Fragebogen

Requirements

Requirement 1: Multi-Step Formular

User Story: Als Kunde möchte ich durch einen mehrstufigen Fragebogen geführt werden, damit ich meine Email-Präferenzen konfigurieren kann.

Acceptance Criteria

  1. WHEN die Seite geladen wird, THEN THE System SHALL die Fragen von Appwrite laden
  2. WHEN ein Schritt ausgefüllt wird, THEN THE System SHALL die Antworten zwischenspeichern
  3. WHEN alle Schritte abgeschlossen sind, THEN THE System SHALL eine Zusammenfassung anzeigen
  4. WHEN Pflichtfelder leer sind, THEN THE System SHALL eine Validierungsfehlermeldung anzeigen

Requirement 2: Appwrite Datenspeicherung

User Story: Als System möchte ich alle Kundendaten in Appwrite speichern, damit die Daten persistent verfügbar sind.

Acceptance Criteria

  1. WHEN das Bootstrap-Script läuft, THEN THE System SHALL alle Tabellen und Spalten erstellen
  2. WHEN ein Kunde den Fragebogen abschließt, THEN THE System SHALL eine Submission erstellen
  3. WHEN eine Submission erstellt wird, THEN THE System SHALL alle Antworten speichern
  4. WHEN Fragen abgerufen werden, THEN THE System SHALL nur aktive Fragen für das Produkt zurückgeben

Requirement 3: Stripe Bezahlung

User Story: Als Kunde möchte ich nach dem Fragebogen bezahlen können, damit ich das Produkt kaufen kann.

Acceptance Criteria

  1. WHEN der Kunde auf "Jetzt kaufen" klickt, THEN THE System SHALL eine Stripe Checkout Session erstellen
  2. WHEN die Checkout Session erstellt wird, THEN THE System SHALL den Kunden zu Stripe weiterleiten
  3. WHEN die Bezahlung erfolgreich ist, THEN THE System SHALL den Submission-Status auf "paid" aktualisieren
  4. WHEN der Stripe Webhook empfangen wird, THEN THE System SHALL die Signatur validieren

Requirement 4: Server Setup

User Story: Als Entwickler möchte ich den Server starten können, damit die Applikation läuft.

Acceptance Criteria

  1. WHEN der Server startet, THEN THE System SHALL auf Port 3000 lauschen
  2. WHEN die HTML-Datei angefordert wird, THEN THE System SHALL die statische Datei ausliefern
  3. WHEN API-Endpunkte aufgerufen werden, THEN THE System SHALL JSON-Antworten zurückgeben
  4. WHEN Umgebungsvariablen fehlen, THEN THE System SHALL einen Fehler ausgeben