NearYou im Detail: Next.js, Node.js und der Weg eines lokalen Angebots

Geschrieben von

Wie Kundenbereich, Unternehmensverwaltung und Administration zusammenspielen, von der Angebotssuche bis zum Einlösen per QR-Code.

Veröffentlicht am

NearYou im Detail: Next.js, Node.js und der Weg eines lokalen Angebots

Aktualisiert

Ein Angebot betrifft mehrere Personen

NearYou verbindet Menschen in Rumänien mit lokalen Unternehmen und deren Angeboten. Auf den öffentlichen Seiten lassen sich Kategorien, Angebote und Unternehmensprofile durchsehen. Dahinter liegen getrennte Arbeitsbereiche für Kunden, Unternehmen und Administratoren.

Die Architektur lässt sich am Weg eines Angebots erklären. Ein Unternehmen legt es an, ein Kunde fordert einen Gutschein an und das Unternehmen bestätigt dessen Einlösung. Alle Ansichten müssen dabei denselben Zustand zeigen.

Next.js übernimmt Oberfläche und API

NearYou verwendet Next.js und React für die Oberfläche sowie TypeScript im gesamten Anwendungscode. Das Node.js-Backend ist über die Route Handler von Next.js umgesetzt. Zur Anwendung mit ihren serverseitigen Routen kommen separate Node.js-Prozesse für Hintergrundaufgaben und zeitgesteuerte Jobs.

Prisma verbindet die Anwendung mit MySQL. Redis und BullMQ übernehmen Warteschlangen für Benachrichtigungen und E-Mail-Kampagnen. MinIO speichert Medien, die über die Medienrouten der Anwendung ausgeliefert werden. Stripe wickelt Abonnementzahlungen ab; das Backend verarbeitet die zugehörigen Webhooks.

So bleiben Angebotsregeln und Oberflächen in einer Codebasis, während Hintergrundaufgaben eigene Prozesse nutzen.

Der öffentliche Angebotskatalog von NearYou

Aufnahme des öffentlichen Katalogs vom 19. September 2026.

Einen Gutschein anzufordern ist eine Serveraktion

Fordert ein Kunde einen Gutschein an, prüft das Backend Anmeldung, Berechtigung und Nutzungslimits. Inhaber können keine Gutscheine ihres eigenen Unternehmens anfordern. Ein Idempotenzschlüssel kann eine wiederholte Anfrage erkennbar machen.

Die entscheidenden Prüfungen laufen innerhalb einer Datenbanktransaktion mit Zeilensperre erneut. Das ist wichtig, wenn zwei Anfragen fast gleichzeitig eintreffen: Die Entscheidung muss auf dem aktuellen Datenbankzustand beruhen.

Auch das Einlösen hat einen kontrollierten Zustandswechsel. Das Unternehmen kann den QR-Code scannen oder den Code von Hand eingeben. Das Backend speichert die Einlösung und verwendet bei der Vergabe von Treuepunkten einen Deduplizierungsschlüssel. Diese Mechanismen behandeln wiederholte Anfragen dort, wo sich die Daten ändern.

Jeder Bereich zeigt den passenden Ausschnitt

Kunden verwalten ihre Gutscheine, folgen Unternehmen und sehen Punkte sowie Benachrichtigungen. Unternehmen pflegen Profile und Angebote, prüfen angeforderte Gutscheine, bestätigen Einlösungen und lesen Statistiken. Administratoren geben Unternehmen frei und verwalten Nutzer, Kategorien, Inhalte, Kampagnen und Support.

Die öffentliche NearYou-Unternehmensseite mit einer Vorschau des Verwaltungsbereichs

Die öffentliche Unternehmensseite zeigt eine Vorschau des Verwaltungsbereichs. Diese Aufnahme stammt von jener Seite, nicht aus einem privaten Konto.

Gemeinsame Anwendungsdaten verbinden die Bereiche. Kunden brauchen einen einlösbaren Gutschein, Unternehmen eine Prüfung seiner Gültigkeit und Administratoren Werkzeuge zur Plattformverwaltung.

Hintergrundaufgaben laufen getrennt

Der Versand einer Kampagne oder von Benachrichtigungen soll nicht die Anfrage belegen, die eine Seite ausliefert. NearYou führt Worker und geplante Jobs getrennt vom Webprozess aus. Bei Zahlungs-Webhooks prüft das Backend außerdem die Signatur und speichert den Verarbeitungsstatus, um doppelte Zustellungen zu behandeln.

Die Komplexität entsteht durch diese verbundenen Abläufe. Next.js und Node.js bilden die Anwendungsstruktur. Transaktionen, Rollenprüfungen und Worker bestimmen das Verhalten im Betrieb.

NearYou entdecken · Projekt ansehen

Die technischen Angaben beruhen auf dem Projektcode. Die Aufnahmen zeigen die öffentliche Website.

Lass uns reden

Erzähl mir, was du vorhast. Ich antworte meist innerhalb eines Arbeitstages.