Next.js es un marco React de código abierto para crear aplicaciones web escalables. Admite la generación de sitios web estáticos y la representación del lado del servidor.
Next.js viene con soporte completo para TypeScript, agrupación rápida, enrutamiento de clientes, captura previa y no requiere una configuración extensa como sus competidores.
MongoDB es un motor de base de datos de documentos NoSQL que admite tiempo real y es preferible para aplicaciones a gran escala.
Para comenzar a trabajar con MongoDB dentro de sus aplicaciones Next.js, necesita tiempo, esfuerzo y muchas pruebas para asegurarse de que todo funcione como se espera.
Pero encontramos una gran solución que le ahorrará una gran cantidad de tiempo, ya que también viene con una sólida comunidad de usuarios de Nex.js.
Este es un proyecto simple de código abierto que viene con funciones y características listas para que su aplicación esté en funcionamiento.
Características
Aquí están sus características incluidas:
- Configuración sencilla
- Configuración fácil y rápida
- Viene con una rica guía de integración.
- Documentación fácil de usar para desarrolladores
- Varias publicaciones de blog que incluyen tutoriales.
- Rápido y ligero sin voluminoso, lento Express.js.
- Lleno Rutas API implementación y Preparado para Serverless
- Buen patrón de Middleware, compatible con el ecosistema Express, impulsado por próxima conexión
- BESO: Sin cosas sofisticadas como GraphQL, SASS, Redux, etc. Incluye publicaciones de blog explicativas.
- Se puede adaptar a cualquier base de datos además de MongoDB (solo actualice api-lib/db)
- Autenticación y cuenta
- Autenticación basada en sesiones (Pasaporte.js)
- Registrarse/Iniciar sesión/Cerrar sesión API
- Autenticación mediante correo electrónico/contraseña
- Autenticación vía OAuth (Google, Facebook, etc.)
- Verificacion de email
- Cambio de contraseña
- Restablecimiento de contraseña por correo electrónico
- Perfil: foto de perfil, nombre de usuario, nombre, biografía, correo electrónico
- Actualización de perfil
característica social
- Ver los perfiles de otros
- Publicaciones y comentarios
Dependencias
Este proyecto utiliza las siguientes dependencias:
next.js
– Se requiere v9.3 o superior para Rutas API y nuevo nuevo método de obtención de datos.react
– Se requiere v16.8 o superior para reaccionar ganchos.react-dom
– v16.8 o superior.swr
– requerido para la gestión estatal, puede ser reemplazado porreact-query
mongodb
– puede ser reemplazado pormongoose
.passport
,passport-local
– requerido para la autenticación.next-connect
– recomendado si desea utilizar el middleware Express/Connect y un método de enrutamiento más sencillo.next-session
,connect-mongo
– requerido para la sesión, puede ser reemplazado por otras bibliotecas de sesión comocookie-session
,next-iron-session
oexpress-session
(express-session
Se observa que no funciona correctamente en Next.js 11+).bcryptjs
– opcional, puede reemplazarse con cualquier biblioteca de hash de contraseñas.argon2
recomendado.validator
– opcional pero recomendado, para validar el correo electrónico.ajv
– opcional pero recomendado, para validar el cuerpo de la solicitud.multer
– puede ser reemplazado con cualquier middleware que manejemultipart/form-data
cloudinary
– opcional, sólo si Tu estas usando Nublado para cargar imágenes.- Varias otras dependencias opcionales con fines cosméticos.
nodemailer
– opcional, sólo si lo usas para el correo electrónico. Se recomienda utilizar servicios de terceros como pistola de correo, AWS SESetc. en su lugar.
Variables ambientales
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, nuboso solo) Variable de entorno Cloudinary para configuración. Ver este.NODEMAILER_CONFIG
(opcional, si usa nodemailer solo) Configuración de nodemailer con cadena JSON. p.ej.{"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}}
Licencia
El proyecto se publica bajo la licencia de código abierto del MIT.
Recursos
Etiquetas
Código abierto Next.js Programación de desarrollo MongoDB Desarrollo web basado en web TypeScript