Una aplicación web Next.JS y MongoDB , diseñada con simplicidad para el aprendizaje y la aplicabilidad del mundo real en mente.
Mira la demostración
? Rápido y ligero sin Express voluminoso y lento. JS.
Implementación completa de rutas API y? Listo sin servidor
? Buen patrón de middleware, compatible con el ecosistema expreso, alimentado por la siguiente conexión
? KISS: No hay cosas elegantes como GraphQL, Sass, Redux, etc. ✍️ Ven con publicaciones de blog explicativas
? Se puede adaptar a cualquier base de datos además de MongoDB (solo actualice API-LIB/DB)
Tenga alguna característica que le interese, haga un problema. Me gustaría trabajar en una función, hacer un PR.
Este proyecto acompaña a las siguientes publicaciones:
También échales un vistazo en Dev.to.
Aunque el proyecto está escrito para ser seguro, su simplicidad requiere consideraciones cuidadosas para el uso en producciones sensibles. Presente un problema si ve algún problema de seguridad.
Este proyecto utiliza las siguientes dependencias:
next.js - V9.3 o superior requerido para rutas API y un nuevo método de recuperación de datos nuevos .react - V16.8 o superior requerido para los ganchos react .react-dom - V16.8 o superior.swr : requerido para la gestión del estado, puede reemplazarse con react-querymongodb : puede ser reemplazado por mongoose .passport , passport-local : requerido para la autenticación.next-connect - Recomendado si desea utilizar el middleware Express/Connect y el enrutamiento de métodos más fácil.next-session , connect-mongo : requerida para la sesión, puede reemplazarse con otras bibliotecas de sesiones, como cookie-session , next-iron-session o express-session (se observa que express-session no funciona correctamente en Next.js 11+).bcryptjs - Opcional, puede reemplazarse por cualquier biblioteca de transferencia de contraseñas. argon2 recomendado.validator : opcional pero recomendado, para validar el correo electrónico.ajv : opcional pero recomendado, para validar el cuerpo de solicitud.multer : puede reemplazarse por cualquier middleware que maneja multipart/form-datacloudinary : opcional, solo si está utilizando Cloudinary para la carga de imágenes.nodemailer : opcional, solo si lo usa para correo electrónico. Se recomienda utilizar servicios de terceros como Mailgun, AWS SES, etc.Las variables ambientales en este proyecto incluyen:
MONGODB_URI la cadena de conexión MongoDB (con credenciales y nombre de la base de datos)WEB_URI la URL de su aplicación web.CLOUDINARY_URL (opcional, solo nube) Variable de entorno nube para la configuración. Ver esto.NODEMAILER_CONFIG (opcional, si solo usa nodemailer) JSON Stringified NodEmailer Config. p.ej. {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}} Inicie el servidor de desarrollo ejecutando yarn dev o npm run dev . Comenzando por crear un archivo .env.local con las variables anteriores. Ver variables de entorno.
Este proyecto se puede implementar en cualquier lugar a continuación. JS se puede implementar. Asegúrese de establecer las variables de entorno utilizando las opciones proporcionadas por sus proveedores de nube/alojamiento.
Después de construir usando npm run build , simplemente inicie el servidor usando npm run start .
También puede implementar esto con proveedores sin servidor dada la configuración correcta.
Por favor vea mi contribuyente. MD.
MIT