# Webshop System Ein freies Webshop-System basierend auf PrestaShop, jedoch ohne Registrierungszwang fΓΌr den Betreiber. ## πŸš€ Features ### βœ… Implementiert (Woche 1-3) #### **Woche 1: Grundstruktur & Core** - βœ… Docker-Setup (PHP 8.1, MySQL, nginx) - βœ… Composer-Konfiguration - βœ… Core-Klassen (Context, Shop, Configuration, Tools, Language, Country, Cookie) - βœ… Core-Utilities (CacheClearLocker, SessionHandler, Installer) - βœ… Datenbankschema mit allen Tabellen - βœ… Installer mit Initialdaten #### **Woche 2: Admin-System** - βœ… Admin-Login-System - βœ… Admin-Dashboard - βœ… Produkt-Katalog (CRUD) - βœ… Frontend-Warenkorb - βœ… Checkout-System - βœ… Kundenverwaltung (CRUD) - βœ… Bestellungsverwaltung (CRUD) - βœ… Kategorienverwaltung (CRUD) - βœ… Einstellungen & Konfiguration #### **Woche 3: Frontend & Testing** - βœ… **Erweiterte Frontend-Suche** mit AJAX-Live-Suggestions - βœ… **Erweiterte Filter** (Kategorie, Preisbereich, Sortierung) - βœ… **Pagination** fΓΌr Suchergebnisse - βœ… **Unit-Tests** (PHPUnit) fΓΌr Produkt-Management - βœ… **Integration-Tests** fΓΌr Admin-Controller - βœ… **PHPUnit-Konfiguration** mit Coverage-Reporting - βœ… **Composer-Scripts** fΓΌr Testing und Code-QualitΓ€t ### πŸ”„ In Entwicklung (Woche 4) #### **Woche 4: Erweiterte Features** - πŸ”„ **Frontend-Produktdetailseiten** mit Bewertungen - πŸ”„ **Kundenkonto-System** (Registrierung, Login, Profil) - πŸ”„ **Wunschliste-Funktion** - πŸ”„ **Newsletter-System** - πŸ”„ **SEO-Optimierung** (Meta-Tags, Sitemap) - πŸ”„ **Performance-Optimierung** (Caching, CDN) - πŸ”„ **API-System** fΓΌr externe Integrationen ### πŸ“‹ Geplant (Woche 5-6) #### **Woche 5: Erweiterte Admin-Features** - πŸ“‹ **Statistiken & Analytics** - πŸ“‹ **Bulk-Import/Export** (CSV, Excel) - πŸ“‹ **Erweiterte Bestellungsverwaltung** - πŸ“‹ **Lagerverwaltung** - πŸ“‹ **Rabatt- und Gutschein-System** - πŸ“‹ **Multi-Shop-Support** #### **Woche 6: Finalisierung & Deployment** - πŸ“‹ **Payment-Integration** (Stripe, PayPal) - πŸ“‹ **E-Mail-Templates** - πŸ“‹ **Backup-System** - πŸ“‹ **Security-Audit** - πŸ“‹ **Deployment-Scripts** - πŸ“‹ **Dokumentation** ## πŸ›  Installation ### Voraussetzungen - Docker & Docker Compose - Git ### Schnellstart ```bash # Repository klonen git clone https://github.com/webshop/freeshop.git cd freeshop # Docker-Container starten docker-compose up -d # Dependencies installieren docker-compose exec app composer install # Umgebungsvariablen konfigurieren cp .env.example .env # .env-Datei anpassen # Datenbank installieren docker-compose exec app php install.php # Tests ausfΓΌhren docker-compose exec app composer test ``` ### Docker-Services - **app**: PHP 8.1 Application - **db**: MySQL 8.0 Database - **nginx**: Nginx Reverse Proxy - **redis**: Redis Cache (optional) ## πŸ§ͺ Testing ### Test-Suites ```bash # Alle Tests composer test # Unit-Tests composer test:unit # Integration-Tests composer test:integration # Feature-Tests composer test:feature # Coverage-Report composer test:coverage ``` ### Code-QualitΓ€t ```bash # Code-Style prΓΌfen composer cs # Code-Style automatisch korrigieren composer cs:fix # Static Analysis composer stan # Security-Check composer security ``` ## πŸ“ Projektstruktur ``` new/ β”œβ”€β”€ app/ β”‚ β”œβ”€β”€ Admin/controllers/ # Admin-Controller β”‚ β”œβ”€β”€ Front/controllers/ # Frontend-Controller β”‚ β”œβ”€β”€ Core/ # Core-Klassen β”‚ └── Helpers/ # Hilfsfunktionen β”œβ”€β”€ templates/ β”‚ β”œβ”€β”€ admin/ # Admin-Templates β”‚ └── front/ # Frontend-Templates β”œβ”€β”€ tests/ β”‚ β”œβ”€β”€ Unit/ # Unit-Tests β”‚ β”œβ”€β”€ Integration/ # Integration-Tests β”‚ └── Feature/ # Feature-Tests β”œβ”€β”€ docker-compose.yml # Docker-Konfiguration β”œβ”€β”€ composer.json # PHP-Dependencies β”œβ”€β”€ phpunit.xml # Test-Konfiguration └── README.md # Diese Datei ``` ## πŸ”§ Konfiguration ### Umgebungsvariablen (.env) ```env # Datenbank DB_HOST=db DB_PORT=3306 DB_DATABASE=freeshop DB_USERNAME=freeshop_user DB_PASSWORD=freeshop_password # Application APP_ENV=production APP_DEBUG=false APP_URL=https://your-domain.com # Cache CACHE_DRIVER=redis REDIS_HOST=redis REDIS_PORT=6379 # Mail MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your-email@gmail.com MAIL_PASSWORD=your-password ``` ## πŸš€ Deployment ### Production-Setup ```bash # Production-Build docker-compose -f docker-compose.prod.yml up -d # SSL-Zertifikat (Let's Encrypt) docker-compose exec nginx certbot --nginx # Backup erstellen docker-compose exec db mysqldump -u root -p freeshop > backup.sql ``` ## πŸ“Š Features im Detail ### πŸ” Erweiterte Frontend-Suche - **Live-Suggestions** mit AJAX - **Erweiterte Filter** (Kategorie, Preis, Sortierung) - **Pagination** fΓΌr große Ergebnislisten - **Responsive Design** mit Bootstrap 5 ### πŸ§ͺ Testing-Suite - **Unit-Tests** fΓΌr alle Core-Funktionen - **Integration-Tests** fΓΌr Controller - **Code-Coverage** mit detaillierten Reports - **Automated Testing** in CI/CD ### πŸ”’ Sicherheit - **SQL-Injection-Schutz** durch Prepared Statements - **XSS-Schutz** durch Input-Validierung - **CSRF-Schutz** fΓΌr alle Formulare - **Session-Management** mit sicheren Cookies ## 🀝 Beitragen 1. Fork das Repository 2. Erstelle einen Feature-Branch (`git checkout -b feature/AmazingFeature`) 3. Committe deine Γ„nderungen (`git commit -m 'Add some AmazingFeature'`) 4. Push zum Branch (`git push origin feature/AmazingFeature`) 5. Γ–ffne einen Pull Request ## πŸ“„ Lizenz Dieses Projekt ist unter der GPL v3 Lizenz lizenziert - siehe [LICENSE](LICENSE) Datei fΓΌr Details. ## πŸ™ Danksagungen - Basierend auf PrestaShop - Bootstrap 5 fΓΌr das Frontend-Design - PHPUnit fΓΌr das Testing-Framework - Docker fΓΌr die Containerisierung ## πŸ“ž Support - **Issues**: [GitHub Issues](https://github.com/webshop/freeshop/issues) - **Discussions**: [GitHub Discussions](https://github.com/webshop/freeshop/discussions) - **Email**: info@webshop-system.de --- **Entwicklungsstand**: Woche 3 abgeschlossen βœ… **NΓ€chster Meilenstein**: Frontend-Verbesserungen & API-System