Eine moderne und flexible Lösung für die Erstellung und Verwaltung von Likert-Skala-basierten Umfragen.
Open-Source · 100% TypeScript · Next.js
Likert-o-mat 2.0 ist eine Open-Source-Anwendung zur Erstellung und Verwaltung von Umfragen basierend auf der Likert-Skala. Die App wurde vollständig mit Next.js und Prisma entwickelt und bietet eine moderne, benutzerfreundliche Oberfläche für Forscher, Pädagogen und andere Fachleute. Dieses Projekt wird von re:edu entwickelt und gepflegt.
- 📊 Erstellung und Verwaltung von Likert-Skala-Umfragen
- 🔐 Passwortlose Authentifizierung mit Magic Links
- 💳 Integrierte PayPal-Zahlungsabwicklung
- 📧 Integriertes E-Mail-System für Benachrichtigungen
- 📈 Echtzeit-Datenanalyse und Visualisierung
- 👥 Rollenbasierte Zugriffskontrolle (RBAC)
- 💾 Robuste Datenbankunterstützung mit PostgreSQL
- 🎨 Responsive und moderne Benutzeroberfläche
- 🌐 Mehrsprachige Unterstützung
- 📱 Mobile-First Design
- 🔄 Echtzeit-Updates und Synchronisation
- 💰 Flexibles Abrechnungsmodell mit verschiedenen Zahlungsoptionen
- Next.js - React Framework
- Prisma - ORM
- PostgreSQL - Datenbank
- NextAuth.js - Authentifizierung
- Tailwind CSS - CSS-Framework
- TypeScript - Programmiersprache
- Chart.js - Datenvisualisierung
- Docker - Containerisierung
- Resend - E-Mail-Service
- shadcn/ui - UI-Komponenten
- PayPal SDK - Zahlungsabwicklung
Likert-o-mat 2.0 verwendet eine moderne, passwortlose Authentifizierung mit Magic Links:
-
Magic Link Anmeldung
- Benutzer geben ihre E-Mail-Adresse ein
- Ein einmaliger Anmeldelink wird per E-Mail versendet
- Sichere, passwortlose Authentifizierung durch Klick auf den Link
- Zeitlich begrenzte Gültigkeit der Magic Links
-
Sicherheitsmerkmale
- CSRF-Schutz
- Sichere Session-Verwaltung
- Automatische Token-Rotation
- IP-basierte Ratenbegrenzung
Die Anwendung bietet eine nahtlose Integration mit PayPal für Zahlungen und Abonnements:
-
Zahlungsoptionen
- Einmalige Zahlungen für Premium-Funktionen
- Wiederkehrende Abonnements
- Flexible Preisgestaltung und Planoptionen
-
Implementierte Funktionen
- PayPal Smart Buttons
- Automatische Zahlungsbestätigungen
- Webhook-Integration für Zahlungsereignisse
- Abonnementverwaltung
- Rechnungsstellung und Quittungen
-
Sicherheit
- Sichere Verarbeitung von Zahlungsinformationen
- Verschlüsselte Transaktionen
- Compliance mit Datenschutzbestimmungen
-
PayPal-Konfiguration
Fügen Sie diese Umgebungsvariablen zu Ihrer
.env
-Datei hinzu:PAYPAL_CLIENT_ID=your-paypal-client-id PAYPAL_CLIENT_SECRET=your-paypal-client-secret PAYPAL_WEBHOOK_ID=your-webhook-id
-
Webhook-Einrichtung
# Webhook-URL für Produktionsumgebung https://ihre-domain.com/api/webhooks/paypal
- Erste Schritte
- Entwicklungsumgebung einrichten
- Produktionsumgebung einrichten
- Beitragen
- Lizenz
- Kontakt
Diese Anleitung führt Sie durch die Einrichtung sowohl der Entwicklungs- als auch der Produktionsumgebung.
Stellen Sie sicher, dass Sie folgende Tools installiert haben:
-
Klonen Sie das Repository:
git clone https://github.com/reedu-reengineering-education/likert-o-mat-2.0.git cd likert-o-mat-2.0
-
Installieren Sie die Abhängigkeiten:
yarn install
-
Erstellen Sie eine
.env
-Datei:cp .env.example .env
-
Konfigurieren Sie die Umgebungsvariablen: Bearbeiten Sie die
.env
-Datei und setzen Sie die erforderlichen Werte:DATABASE_URL=postgresql://postgres:postgres@localhost:5432/likert-o-mat NEXTAUTH_SECRET=your-secret-key RESEND_API_KEY=your-resend-api-key PAYPAL_CLIENT_ID=your-paypal-client-id PAYPAL_CLIENT_SECRET=your-paypal-client-secret PAYPAL_WEBHOOK_ID=your-webhook-id
-
Starten Sie die Entwicklungsdatenbank:
docker compose up -d
-
Führen Sie die Prisma-Migrationen aus:
npx prisma migrate dev
-
Starten Sie die Entwicklungsumgebung:
yarn dev
-
Bauen Sie die Anwendung:
yarn build
-
Starten Sie den Produktionsserver:
yarn start
-
Mit Docker:
docker compose -f docker-compose.prod.yml up -d
Wir freuen uns über Beiträge! Wenn Sie eine Verbesserung vorschlagen möchten:
- Forken Sie das Projekt
- Erstellen Sie einen Feature-Branch (
git checkout -b feature/AmazingFeature
) - Committen Sie Ihre Änderungen (
git commit -m 'Add some AmazingFeature'
) - Pushen Sie den Branch (
git push origin feature/AmazingFeature
) - Öffnen Sie einen Pull Request
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der LICENSE
-Datei.
re:edu GmbH - @reedu_de - [email protected]
Projektlink: https://github.com/reedu-reengineering-education/likert-o-mat-2.0