Eine NEXT.JS- und MongoDB- Webanwendung, die mit der Einfachheit für das Lernen und die reale Anwendbarkeit ausgelegt ist.
Schauen Sie sich die Demo an
? Schnell und leicht ohne sperrige, langsame Express.js.
Vollständige API -Routes Implementierung und? Serverlos bereit
? Gutes alter Middleware-Muster, kompatibel mit Express-Ökosystem, angetrieben von Next-Connect
? Kuss: Keine ausgefallenen Sachen wie GraphQL, Sass, Redux usw. ✍️ kommen mit erklärenden Blog -Posts
? Kann neben mongoDB an Datenbanken angepasst werden (einfach API-lib/dB aktualisieren)
Machen Sie alle Funktionen, die Sie interessieren, und machen Sie ein Problem. Ich möchte an einem Feature arbeiten, eine PR machen.
Dieses Projekt begleitet die folgenden Beiträge:
Probieren Sie sie auch unter Dev.to.
Obwohl das Projekt geschrieben ist, um sicher zu sein, erfordert seine Einfachheit sorgfältige Überlegungen zur Verwendung in sensiblen Produktionen. Stellen Sie ein Problem ein, wenn Sie Sicherheitsprobleme erkennen.
Dieses Projekt verwendet die folgenden Abhängigkeiten:
next.js - v9.3 oder höher für API -Routen und neue Datenabrufmethoden .react - V16.8 oder höher für React -Hooks erforderlich.react-dom - v16.8 oder höher.swr - Für das staatliche Management erforderlich, kann durch react-query ersetzt werdenmongodb - kann durch mongoose ersetzt werden.passport , passport-local - für die Authentifizierung erforderlich.next-connect - Empfohlen, wenn Sie Express/Connect Middleware und einfachere Methodenrouting verwenden möchten.next-session connect-mongo kann durch andere Sitzungsbibliotheken wie cookie-session , next-iron-session oder express-session ersetzt werden ( express-session wird beobachtet, dass sie am nächsten.js 11+ nicht ordnungsgemäß funktioniert).bcryptjs - Optional, kann durch eine beliebige Passworthashing -Bibliothek ersetzt werden. argon2 empfohlen.validator - Optional, aber empfohlen, um E -Mails zu validieren.ajv - Optional, aber empfohlen, um die Anfrage zu validieren.multer - kann durch alle Middleware ersetzt werden, die multipart/form-data behandeltcloudinary - Optional, nur wenn Sie Cloudinary für das Bild -Upload verwenden.nodemailer - optional, nur wenn Sie es für E -Mail verwenden. Es wird empfohlen, Dienste von Drittanbietern wie Mailgun, AWS SES usw. zu verwenden.Zu den Umgebungsvariablen in diesem Projekt gehören:
MONGODB_URI Die MongoDB -Verbindungszeichenfolge (mit Anmeldeinformationen und Datenbanknamen)WEB_URI Die URL Ihrer Web -App.CLOUDINARY_URL ( nur optional, wolkinary) Cloudinary -Umgebungsvariable für die Konfiguration. Sehen Sie sich das an.NODEMAILER_CONFIG (optional, wenn nur NodeMailer verwendet) JSON -String -Nodemailer -Konfiguration. z.B. {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}} Starten Sie den Entwicklungsserver, indem Sie yarn dev oder npm run dev ausführen. Erstellen Sie mit den obigen Variablen eine .env.local -Datei. Siehe Umgebungsvariablen.
Dieses Projekt kann überall als nächstes bereitgestellt werden. Js kann bereitgestellt werden. Stellen Sie sicher, dass die Umgebungsvariablen mit den Optionen Ihrer Cloud-/Hosting -Anbieter festgelegt werden.
Starten Sie nach dem Erstellen von npm run build den Server einfach mit npm run start .
Sie können dies auch mit serverlosen Anbietern bereitstellen, die das richtige Setup angegeben haben.
Bitte beachten Sie meinen Beitrag.md.
MIT