Eckmar´s Marketplace Multi Vendor

Eckmar’s Marketplace Script

Dies ist eine komplette Neufassung meines alten Skripts: Eckmar’s Marketplace Script. Die beiden haben einige Gemeinsamkeiten (funktional), aber die neue Version ist von Grund auf neu geschrieben, was bedeutet, dass kein Code zwischen ihnen geteilt wird.

Über Eckmars Marktplatz-Skript

Marketplace v2.0 ist ebenfalls in PHP mit dem Laravel-Framework geschrieben. Es verwendet die neuesten Standards für Verschlüsselung (wie die Sodium-Bibliothek) und Sicherheit. Da es ohne JavaScript auskommt, ist es für TOR optimiert, kann aber auch wie jede andere Webanwendung normal ausgeführt werden (wie Sie in der Demo sehen können).

Anforderungen für Marketplace

  • VPS mit mindestens 2 GB RAM
  • Daemon für jede Münze, die auf dem Marktplatz aktiviert ist

Server-Anforderungen:

  • PHP 7 (empfohlen und getestet auf 7.2)
  • SQL-Datenbank (MySQL, PostgreSQL, SQLite, SQL Server)
  • Elasticsearch (Suchschnittstelle, die die Suchdatensätze verfolgt und eine gute Suchleistung bietet)
  • Redis (Optional, erhöht aber die Leistung der Anwendung erheblich)

Eckmar´s Marketplace Script

Eckmar’s Marktplatz Eigenschaften

Kategorien
Das Kategoriensystem ist sehr dynamisch. Kategorien können unbegrenzt verschachtelt werden. Das Anlegen, Löschen und Bearbeiten von Kategorien erfolgt über die Administrationsoberfläche.

Detaillierte Startseite
Auf der Startseite befindet sich derzeit ein Platzhaltertext, der die wichtigsten Funktionen Ihres Marktplatzes darstellt.
Darüber hinaus können alle Benutzer die Top-Verkäufer (Verkäufer mit den meisten Verkäufen), die letzten Bestellungen (Produkte der zuletzt abgeschlossenen Bestellungen sowie der Bestellwert, aber keine Informationen über Käufer oder Verkäufer) und die aufsteigenden Verkäufer (Verkäufer mit den meisten Verkäufen innerhalb eines bestimmten Zeitraums, Standardwert sind 7 Tage) sehen.
Offizielle Spiegel ist der Ort, wo Sie angeben können, über welche anderen Links Ihre Website erreicht werden kann.

Passwort zurücksetzen
Das Passwort kann mit einem PGP-Schlüssel zurückgesetzt werden, der dem Konto hinzugefügt wurde (mehr über PGP weiter unten) oder mit einem mnemotechnischen Schlüssel, der bei der Anmeldung angegeben wurde. Der mnemonische Schlüssel wird nur einmal angezeigt und sollte auf Papier notiert werden. Während der Anmeldung wird er sofort gehasht (bcrypt) und nur für die kurze Zeit während der Anzeige im Arbeitsspeicher gespeichert. Danach wird er manuell aus dem Speicher gelöscht, zusätzlich zur automatischen PHP Garbage Collection.

PGP
Jeder Benutzer kann seinen eigenen PGP-Schlüssel hinzufügen, der für mehrere Funktionen verwendet wird. Anbieter müssen PGP und 2FA aktiviert haben, bevor sie vom Benutzer- zum Anbieterstatus aufsteigen können. Wenn Sie einen aktiven PGP-Schlüssel haben, können Sie damit Ihr Passwort zurücksetzen oder 2FA für Ihr Login aktivieren. Jeder PGP-Schlüssel muss bestätigt werden, bevor er mit dem Konto verknüpft wird, und wenn Sie einen neuen Schlüssel hinzufügen möchten, müssen Sie zunächst eine Nachricht mit dem alten Schlüssel signieren.
Nachrichten können auch mit dem PGP-Schlüssel des Benutzers verschlüsselt werden, wenn dieser vorhanden ist (dies wird nicht erzwungen, es liegt in der Entscheidung des Benutzers).

2FA (Zwei-Faktoren-Authentifizierung)
Wenn der Benutzer einen PGP-Schlüssel mit seinem Konto verknüpft hat, kann er 2FA aktivieren. Wenn diese Funktion aktiviert ist, wird die Anmeldung auf dem Marktplatz verhindert, es sei denn, eine zufällig generierte Nachricht wird mit dem Schlüssel signiert.

 

Wunschzettel
Käufer müssen keine Produktlinks für später speichern. Auf jedem Produkt gibt es eine Schaltfläche “Zur Wunschliste hinzufügen”, die verwendet werden kann, und sie werden in der persönlichen Liste des Benutzers für später gespeichert.

Verkäufer
Normale Benutzer können keine Produkte auf dem Marktplatz einstellen. Um Produkte einstellen zu können, müssen Sie Verkäufer werden. Bevor Sie ein Upgrade durchführen können, müssen Sie einen PGP-Schlüssel und 2FA in Ihrem Profil aktiviert haben. Der Verkäuferpreis kann in der Marktplatzkonfiguration festgelegt werden. Verkäufer können jede der verfügbaren Münzen verwenden, um den Verkäuferstatus zu erwerben. Von jedem Verkäuferverkauf geht ein Prozentsatz des Verkaufswerts an die Marktplatzadressen.

Anpassung des Verkäuferprofils
Verkäufer können ihr Profil mit vordefinierten Profilhintergründen und einer kurzen persönlichen Beschreibung individuell gestalten.

Verkäuferstufen und XP
Jeder neue Verkäufer beginnt auf Stufe 0 und steigt je nach Leistung weiter auf. Die Erfahrungspunkte und die Anzahl der Stufen sind dynamisch und konfigurierbar. Multiplikatoren bestimmen, wie viele EP den Verkäufern für jede Aktion gewährt/abgenommen werden. Die XP werden nach einer Formel vergeben/abgenommen: USD-Wert x Multiplikator

Rückmeldung
Nach jedem abgeschlossenen Kauf können Verkäufer ein Feedback abgeben. Es gibt positive, neutrale und negative Bewertungen, die sich sowohl auf die Verkäuferbewertung als auch auf die Produktbewertung auswirken.

Mehrere Crypto Währungen
Das wohl wichtigste System ist das Münzsystem. Es ist vollständig dynamisch, was bedeutet, dass neue Münzen jederzeit hinzugefügt werden können. Die Standardversion des Marktplatzes enthält bereits Bitcoin und Monero. Für jeden hinzugefügten Coin kann in der Marktplatzkonfiguration eine unbegrenzte Anzahl von Marktplatzadressen festgelegt werden (die für die Entgegennahme von Gebühren aus Käufen verwendet werden), und falls mehr als eine Adresse vorhanden ist, wird die Adresse für die Entgegennahme von Gebühren zufällig ausgewählt (für jeden Kauf).

Produkttypen
Es gibt zwei Produkttypen. Physische und digitale Produkte. Je nach Produkttyp werden bei der Erstellung und beim Kauf unterschiedliche Optionen angezeigt.
Sowohl digitale als auch physische Produkte unterstützen Angebote und benutzerdefinierte Maßeinheiten (Artikel, kg, Gramm, Stück …). Mit Angeboten können Verkäufer Rabatte auf den Kauf basierend auf der Menge geben.

Zum Beispiel:

  • Preis für 1 Produkt ist 100$
  • Preis für 10 Produkte ist 90$
  • Der Preis für 20+ Produkte beträgt 80$

Jedes dieser Angebote wird als ein Angebot betrachtet und kann jederzeit hinzugefügt oder entfernt werden.

Eckmar Multi Vendor Marketplace

Digitale Produkte unterstützen die automatische Lieferung, die optional ist. Wenn diese Option aktiviert ist, wird das Autofill-System verwendet. Jede Zeile in der Textarea wird als einzelner Artikel behandelt und stellt die Produktmenge dar. Sie wird sofort nach dem Kauf an den Benutzer gesendet.

Physische Produkte haben Lieferoptionen. Jede Lieferoption besteht aus: Name, Preis, voraussichtliche Lieferdauer, Mindestmenge für die Lieferung, Höchstmenge für die Lieferung. Physische Produkte können auch Länder für den Versand einschließen/ausschließen.

Markdown-Styling
Anstelle von einfachem Text unterstützen die Produktbeschreibungen und -regeln Markdown-Styling. Jedes Tag wird unterstützt, außer dem URL-Tag.

Einkaufen
Wenn der Benutzer ein Produkt kauft, kann er mit jeder vom Markt unterstützten Münze bezahlen (und mit dem Verkäufer, da dieser für jedes Produkt wählen kann, welche Münzen er haben möchte). Es gibt keine Geldbörsen oder ähnliches. Die Benutzer müssen nicht ständig Geld auf dem Marktplatz aufbewahren. Für jeden Kauf wird eine Zufallsadresse generiert, die nur für diesen Kauf verwendet wird.

Treuhandkonto (Escrow)
Escrow ist bei jedem Kauf standardmäßig vorhanden. Beim Kauf wird eine Marktplatzadresse generiert, die das Geld verwahrt. Wenn der Kauf abgeschlossen ist, wird er als geliefert markiert oder der Streitfall wird beigelegt. Wenn der Käufer mit dem Kauf unzufrieden ist, kann er einen Streitfall eröffnen und möglicherweise (je nach Entscheidung des Administrators) sein Geld zurückbekommen. Nach Abschluss des Kaufs wird das Geld je nach Ergebnis von der temporären Kaufadresse an den Käufer/Verkäufer und an eine der Marktplatz-Halteadressen gesendet.

Warenkorb
Wenn ein Benutzer mehr als ein Produkt kaufen möchte (vielleicht auch von verschiedenen Verkäufern), kann er sie alle in einen Warenkorb legen und dann nur einmal zur Kasse gehen.

Nachrichten
Das wichtigste Merkmal von Nachrichten ist die Sicherheit. Marketplace verwendet die neuesten Algorithmen und Standards in der Public Key Cryptography (wie XChaCha20-Poly1305-IETF), um Nachrichten zwischen Benutzern zu verschlüsseln. Bei der Registrierung werden öffentliche und private Schlüssel für jeden Benutzer erstellt. Anhand des Passworts des Benutzers wird ein Verschlüsselungsschlüssel abgeleitet, der zur Verschlüsselung des privaten Schlüssels verwendet wird, während der öffentliche Schlüssel offengelegt wird. Wenn Benutzer A eine Nachricht an Benutzer B senden möchte, findet ein Schlüsselaustausch statt. Benutzer A verschlüsselt die Nachricht mit dem öffentlichen Schlüssel von Benutzer B, und diese Nachricht wird in der Datenbank gespeichert. Nur Benutzer B kann diese Nachricht lesen, wenn er sich anmeldet und seine Nachrichten mit einem Passwort entschlüsselt. Dieses System macht die Nachrichten sicher und unlesbar für jeden, einschließlich des Marktplatzadministrators oder im Grunde für jeden, der Zugang zur Datenbank haben könnte.

Nachrichten werden in Unterhaltungen organisiert. Es können mehrere Unterhaltungen gleichzeitig gestartet werden.

Benachrichtigungen
Benutzer erhalten Benachrichtigungen für die meisten Aktionen, die auf dem Marktplatz passieren und sie betreffen. Einige der Beispiele sind: Neue Nachricht, Aktualisierung des Kaufstatus (Produkt versandt, Produkt geliefert usw.), Aktionen des Verkäufers (Feedback) und so weiter.
Sie können im Benutzerkontopanel gelesen und jederzeit gelöscht werden.

Bitmessage
Der Marktplatz kann sich möglicherweise mit dem Bitmessage-Daemon verbinden. Wenn eine Verbindung besteht, können Benutzer ihre Bitmessage-Adressen hinzufügen und ihre Benachrichtigungen dorthin weiterleiten lassen. Das bedeutet, dass sie immer noch Benachrichtigungen erhalten, auch wenn sie gerade nicht eingeloggt sind, und dass sie nichts aktualisieren müssen.
Bevor Benachrichtigungen weitergeleitet werden können, müssen Bitmessage-Adressen zunächst bestätigt werden.

JavaScript-Warnung
Optionale Warnung kann in der Marktplatzkonfiguration aktiviert werden. Wenn der Besucher JavaScript aktiviert hat, wird eine Nachricht angezeigt, die ihn über Sicherheitsprobleme informiert.

Support Ticket System
Benutzer können Support-Tickets für jedes Problem, das sie haben, öffnen. Administratoren/Moderatoren sehen diese Tickets in der Verwaltungskonsole und können darauf antworten oder sie schließen.

Verwaltungskonsole
Die meisten Vorgänge auf dem Marktplatz können direkt im Verwaltungsbereich eingesehen werden. Administratoren können auf jede Funktion im Administrationsbereich zugreifen.

Moderatoren
Das modulare Berechtigungssystem wird derzeit unterstützt, d.h. Administratoren können Moderatoren bestimmte Zugriffsrechte erteilen/entziehen (z.B. können Support-Mitarbeiter nur Tickets beantworten und Streitfälle lösen, Community-Manager können nur Massennachrichten versenden usw.).

Derzeit unterstützte Funktionen:

  • Index – Grundlegende Informationen
  • Kategorien – Hinzufügen/Bearbeiten/Entfernen von Kategorien
  • Massennachrichten – Möglichkeit, Nachrichten an Benutzer nach Marktplätzen zu senden (kann nach Benutzergruppen gefiltert werden)
  • Benutzer – Benutzer anzeigen, suchen, filtern und jeden Benutzer einzeln bearbeiten
  • Produkte – Anzeigen, Suchen, Filtern nach Benutzer oder Bearbeiten von Produkten
  • Log – Aktivitätsprotokoll aller Administratoren/Moderatoren im Admin Panel
  • Bitmessage
  • Streitfälle (Dispute)- Anzeigen und Lösen von Kaufstreitigkeiten
  • Tickets – Anzeigen und Lösen von Support-Tickets
  • Käufe – Liste aller Käufe
  • Verkäuferkäufe – Liste der Verkäuferkäufe

Unterstützte Crypto Währungen:

  • Bitcoin
  • Monero
  • Litecoin
  • DASH
  • PIVX
  • Verge
  • Bitcoin Cash