Diese Anwendung ist eine mit Electron gebaute Desktop-Version einer React/Next.js-Anwendung.
Um die Anwendung zu entwickeln, führen Sie die folgenden Befehle aus:
# Abhängigkeiten installieren
npm install
# Entwicklungsmodus starten
npm run electron:devDie Anwendung verwendet Supabase für die Authentifizierung und Abonnementverwaltung. Folgen Sie diesen Schritten, um Ihre eigene Supabase-Instanz einzurichten:
- Erstellen Sie ein kostenloses Konto auf Supabase
- Erstellen Sie ein neues Projekt
- Kopieren Sie Ihre Supabase-URL und Ihren Anon-Key aus den Projekteinstellungen
- Kopieren Sie
.env.local.examplenach.env.localund tragen Sie Ihre Supabase-Daten ein:
NEXT_PUBLIC_SUPABASE_URL=https://ihre-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=ihr-supabase-anon-key
SUPABASE_SERVICE_KEY=ihr-service-key
NEXT_PUBLIC_APP_URL=http://localhost:3000
-
Einrichtung der Datenbank mit dem bereitgestellten SQL-Skript:
- Navigieren Sie zu Ihrem Supabase-Projekt → SQL-Editor
- Laden Sie den Inhalt von
scripts/setup-database.sqlund führen Sie ihn aus - Oder führen Sie die einzelnen SQL-Anweisungen aus der Datei
docs/database.mdaus
-
(Optional) Testdaten einfügen:
node scripts/seed-test-data.js
Dieses Skript erstellt Testbenutzer und Abonnements für die Entwicklung.
Die vollständige Dokumentation der Datenbankstruktur und -funktionen finden Sie in der Datei docs/database.md. Dort sind alle Tabellen, Felder, Beziehungen und SQL-Anweisungen dokumentiert.
npm run dev: Startet die Next.js-Anwendung im Entwicklungsmodusnpm run electron:dev: Startet die Next.js-Anwendung und die Electron-App im Entwicklungsmodusnpm run electron:build: Baut die Next.js-Anwendung und verpackt sie als Electron-Appnpm run electron:start: Startet die Electron-App (benötigt vorheriges Build)
Die Anwendung kann für verschiedene Plattformen gebaut werden:
- macOS:
npm run electron:build - Windows:
npm run electron:build -- --win - Linux:
npm run electron:build -- --linux
Die gebauten Anwendungen finden Sie im dist-Verzeichnis.
main.js: Electron-Hauptprozesspreload.js: Preload-Skript für die Electron-Appapp/: Next.js-Anwendungscodeout/: Exportierter Next.js-Build für Electronlib/supabase.ts: Supabase-Client und Authentifizierungsfunktionenlib/auth.ts: Authentifizierungslogik und Token-Managementlib/auth-context.tsx: React-Kontext für Authentifizierungsstatusdocs/: Dokumentationen, einschließlich Datenbankstrukturscripts/: Hilfsskripte für Entwicklung und Datenbankverwaltung
- React
- Next.js
- Electron
- Tailwind CSS
- Supabase (Authentifizierung und Datenbank)
- JWT für sichere Tokenverarbeitung