Une application Web suivante.js et MongoDB , conçue avec une simplicité pour l'apprentissage et l'applicabilité du monde réel à l'esprit.
Découvrez la démo
? Rapide et léger sans volumineux, lent Express.js.
Implémentation complète des routes API et? Prêt sans serveur
? Bon schéma de middleware, compatible avec l'écosystème express, alimenté par la connexion suivante
? Kiss: Pas de trucs de fantaisie comme GraphQL, Sass, Redux, etc. ✍️ Venez avec des articles de blog explicatifs
? Peut être adapté à toutes les bases de données en plus de MongoDB (il suffit de mettre à jour API-LIB / DB)
Ayez toutes les fonctionnalités qui vous intéressent, faites un problème. Aimerait travailler sur une fonctionnalité, faire un PR.
Ce projet accompagne les messages suivants:
Vérifiez-les également sur Dev.T.T.
Bien que le projet soit écrit pour être sécurisé, sa simplicité nécessite des considérations attentives pour l'utilisation des productions sensibles. Déposez un problème si vous repérez des problèmes de sécurité.
Ce projet utilise les dépendances suivantes:
next.js - v9.3 ou supérieur requis pour les routes API et la nouvelle méthode de récupération de données .react - v16.8 ou plus requis pour les crochets de réaction .react-dom - v16.8 ou supérieur.swr - requis pour la gestion de l'État, peut être remplacé par react-querymongodb - peut être remplacé par mongoose .passport , passport-local - requis pour l'authentification.next-connect - Recommandé si vous souhaitez utiliser le middleware express / connect et le routage de méthode plus facile.next-session , connect-mongo - requise pour la session, peut être remplacée par d'autres bibliothèques de session telles que cookie-session , next-iron-session ou express-session ( express-session est observée pour ne pas fonctionner correctement sur Next.js 11+).bcryptjs - Facultatif, peut être remplacé par n'importe quelle bibliothèque de hachage de mot de passe. argon2 recommandé.validator - Facultatif mais recommandé, pour valider les e-mails.ajv - Facultatif mais recommandé, pour valider le corps de demande.multer - peut être remplacé par n'importe quel middleware qui gère multipart/form-datacloudinary - Facultatif, uniquement si vous utilisez Cloudinary pour le téléchargement d'images.nodemailer - Facultatif, uniquement si vous l'utilisez pour les e-mails. Il est recommandé d'utiliser des services tiers comme Mailgun, AWS SES, etc. à la place.Les variables environnementales de ce projet comprennent:
MONGODB_URI La chaîne de connexion MongoDB (avec des informations d'identification et le nom de la base de données)WEB_URI L' URL de votre application Web.CLOUDINARY_URL (facultatif, cloudinary uniquement ) variable d'environnement cloudinary pour la configuration. Voyez ceci.NODEMAILER_CONFIG (facultatif, si vous utilisez nodemailer uniquement ) JSON Stringified nodemailer config. par exemple, par exemple {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}} Démarrez le serveur de développement en exécutant yarn dev ou npm run dev . Présenter par créer un fichier .env.local avec les variables ci-dessus. Voir les variables environnementales.
Ce projet peut être déployé n'importe où ensuite.Js peut être déployé. Assurez-vous de définir les variables d'environnement à l'aide des options fournies par vos fournisseurs de cloud / hébergement.
Après la création à l'aide npm run build , démarrez simplement le serveur à l'aide de npm run start .
Vous pouvez également déployer cela avec des fournisseurs sans serveur compte tenu de la configuration correcte.
Veuillez consulter ma contribution.md.
Mit