chore: initialize project repository with core extension files

- Add .gitignore to exclude node_modules, dist, logs, and system files
- Add comprehensive project documentation including README, deployment guide, and development setup
- Add .kiro project specifications for amazon-product-bar-extension, appwrite-cloud-storage, appwrite-userid-repair, blacklist-feature, and enhanced-item-management
- Add .kiro steering documents for product, structure, styling, and tech guidelines
- Add VSCode settings configuration for consistent development environment
- Add manifest.json and babel/vite configuration for extension build setup
- Add complete source code implementation including AppWrite integration, storage managers, UI components, and services
- Add comprehensive test suite with Jest configuration and 30+ test files covering all major modules
- Add test HTML files for integration testing and validation
- Add coverage reports and build validation scripts
- Add AppWrite setup and repair documentation for database schema management
- Add migration guides and responsive accessibility implementation documentation
- Establish foundation for Amazon product bar extension with full feature set including blacklist management, enhanced item workflows, and real-time synchronization
This commit is contained in:
2026-01-12 17:46:42 +01:00
commit 216a972fef
180 changed files with 88019 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
# Requirements Document
## Introduction
Eine Browser-Extension für Amazon, die bei Produktsuchergebnissen eine neue visuelle Leiste direkt unter jedem Produktbild einfügt. Die Extension ermöglicht es Nutzern, Amazon-Produktlinks über ein Menü zu speichern und zeigt gespeicherte Produkte mit einem Listen-Icon in der Produktleiste an.
## Glossary
- **Extension**: Browser-Erweiterung (Chrome/Firefox), die Amazon-Seiten modifiziert
- **Product_Card**: Ein einzelnes Produktelement in den Amazon-Suchergebnissen
- **Product_Bar**: Die neue Leiste, die unter dem Produktbild eingefügt wird
- **Search_Results_Page**: Die Amazon-Seite mit Suchergebnissen
- **Menu**: Das bestehende StaggeredMenu mit Seitenleiste und schwarzem Content-Panel
- **Items_Panel**: Der schwarze Content-Bereich, der beim Klick auf "Items" angezeigt wird
- **Saved_Product**: Ein in der Extension gespeicherter Amazon-Produktlink
- **List_Icon**: Visueller Indikator in der Product_Bar für gespeicherte Produkte
- **Local_Storage**: Browser-lokaler Speicher für gespeicherte Produktdaten
## Requirements
### Requirement 1: Extension Installation und Aktivierung
**User Story:** Als Nutzer möchte ich die Extension installieren können, damit sie auf Amazon-Seiten aktiv wird.
#### Acceptance Criteria
1. WHEN the Extension is installed, THE Extension SHALL activate automatically on Amazon domains
2. THE Extension SHALL support amazon.de and amazon.com domains
3. WHEN the user navigates to an Amazon search results page, THE Extension SHALL detect the page type
### Requirement 2: Produktkarten-Erkennung
**User Story:** Als Nutzer möchte ich, dass die Extension alle Produktkarten auf der Suchergebnisseite erkennt, damit jede eine Leiste erhält.
#### Acceptance Criteria
1. WHEN a search results page loads, THE Extension SHALL identify all Product_Card elements on the page
2. WHEN new Product_Cards are dynamically loaded (infinite scroll), THE Extension SHALL detect and process them
3. THE Extension SHALL correctly identify the product image container within each Product_Card
### Requirement 3: Product Bar Einfügung
**User Story:** Als Nutzer möchte ich eine neue Leiste unter jedem Produktbild sehen, damit ich später zusätzliche Informationen dort erhalten kann.
#### Acceptance Criteria
1. WHEN a Product_Card is identified, THE Extension SHALL insert a Product_Bar element directly below the product image
2. THE Product_Bar SHALL be visually distinct with a background color and defined height
3. THE Product_Bar SHALL span the full width of the product image
4. THE Product_Bar SHALL not interfere with existing Amazon functionality (clicking product, etc.)
5. IF a Product_Bar already exists for a Product_Card, THEN THE Extension SHALL not insert a duplicate
### Requirement 4: Visuelle Gestaltung
**User Story:** Als Nutzer möchte ich, dass die Leiste gut sichtbar aber nicht störend ist, damit sie das Einkaufserlebnis nicht beeinträchtigt.
#### Acceptance Criteria
1. THE Product_Bar SHALL have a minimum height of 20 pixels
2. THE Product_Bar SHALL have a subtle background color that contrasts with the page
3. THE Product_Bar SHALL have rounded corners consistent with Amazon's design language
4. WHILE the page is loading, THE Extension SHALL not cause visible layout shifts
### Requirement 5: Items-Bereich für Produktlinks
**User Story:** Als Nutzer möchte ich im Items-Bereich des bestehenden Menüs Amazon-Produktlinks speichern können, damit ich meine interessanten Produkte verwalten kann.
#### Acceptance Criteria
1. WHEN the user clicks on "Items" in the menu, THE Extension SHALL display a content panel for product management
2. WHEN the Items content panel is open, THE Extension SHALL display an input field for Amazon product URLs
3. WHEN a valid Amazon product URL is entered, THE Extension SHALL save the product link to local storage
4. WHEN an invalid URL is entered, THE Extension SHALL display an error message and prevent saving
5. THE Extension SHALL validate that entered URLs are valid Amazon product links
6. WHEN a product link is saved, THE Extension SHALL clear the input field and show confirmation
### Requirement 6: Gespeicherte Produktliste im Items-Bereich
**User Story:** Als Nutzer möchte ich eine Liste aller gespeicherten Produktlinks im Items-Bereich sehen, damit ich meine gespeicherten Produkte überblicken kann.
#### Acceptance Criteria
1. WHEN the Items content panel is open, THE Extension SHALL display saved products in a list below the input field
2. THE Extension SHALL show product title, image, and URL for each saved item
3. WHEN the Items panel is opened, THE Extension SHALL load and display all previously saved products
4. THE Extension SHALL provide a delete button for each saved product
5. WHEN a product is deleted, THE Extension SHALL remove it from storage and update the display
### Requirement 7: Produktmarkierung in der Leiste
**User Story:** Als Nutzer möchte ich sehen, welche Produkte bereits gespeichert sind, damit ich keine Duplikate erstelle.
#### Acceptance Criteria
1. WHEN a product on the search results page is already saved, THE Product_Bar SHALL display a list icon
2. THE Extension SHALL compare current page products with saved products by URL or ASIN
3. THE Extension SHALL add the list icon immediately when the product bar is created
4. WHEN a product is saved via the menu, THE Extension SHALL immediately update all matching product bars
5. WHEN a product is deleted from the saved list, THE Extension SHALL remove the list icon from matching product bars