¡Aplicación de una sola página totalmente receptiva hecha con Mern Stack! ?
Tecnología utilizada
Reaccionar
Nodo
Mongo DB
Expresar
Redux
Rehacer
Broma
Base de datos utilizada
Mongo
Rehacer
Empezando
Clone el repositorio a su entorno local, debe instalar separadamente todas las dependencias para el backend y el frontend.
Para el backend, vaya a la carpeta de backend (backend de CD) y ejecute npm i
Instalar MongoDB
O puede usar el sitio web
Agregue sus variables ambientales
Cree un archivo .env en el directorio raíz de la carpeta de backend y agregue sus tokens allí con respecto a las variables de archivos de configuración.
Access_token_secret = "algún secreto"
Access_token_life = tiempo
Refresh_token_secret = "algún secreto"
Refresh_token_life = tiempo
SendGrid_key = ""
Mongo_database = ""
Oauth2client = ""
Stripe_secret_token = ""
Redis_host = ""
Redis_password = ""
Redis_port = ""
Nota: Asegúrese de que las variables de archivos .env coincidan con las de los archivos de configuración como la imagen a continuación.
Para frontend, vaya a la carpeta frontend (front-end de CD) y ejecute npm i
Para ejecutar un entorno de desarrollo, puede usar el comando npm start . Esto iniciará un servidor web de desarrollo en el puerto 3000 para Frontend, y un servidor API observado por Nodemon en el puerto 8080.
NOTA: Debe hacer un inicio de NPM para el backend y frontend por separado.
Prueba unitaria
Puede probar el backend, expresar puntos finales usando el comando (prueba de NPM)
Docker componer
El clon de Coursera está documentado y el repositorio de Docker Hub se puede encontrar aquí https://hub.docker.com/repository/docker/ayushverma/coursera/general
Si usa Docker y Docker Compose, puede comenzar todo el proyecto con:
docker-compose up
? Características
Alumno
Sistema de autenticación con registro, inicio de sesión, verificación OTP, Reenga OTP, Olvidó la contraseña (totalmente validada con alertas de arranque)
Google Authentication (OAuth2) utilizando React-Google-Login y Google Auth-Bibrary
Pasarela de pago de stripe integrada con los cursos de backend para comprar
Tienda redux para administrar fácilmente los estados
Página de inicio con cursos que se obtienen categóricamente
Cursos recomendados basados en las preferencias del usuario
Calificación de cursos
Cursos marcados donde los usuarios pueden eliminar o agregar marcadores
Descargar recursos (PDF - Notas)
Reproductor de video reaccionado receptivo para videos
Barra de progreso
Page de curso con todo el contenido del curso
Buscando en función del curso y el maestro
Clases de grupos en vivo en tiempo real
Maestro
Sistema de autenticación adecuado con registro, inicio de sesión, verificación OTP, Reiniciar OTP, Olvidó la contraseña (totalmente validada con alertas de arranque)
Formulario de carga del maestro totalmente validado con descriptición, título, imagen y otros detalles
Ckeditor para escribir en el cuadro de texto con habilidades para agregar diferentes encabezados, párrafos, negrita, cursiva, enlace, tablas, tamaños, etc.
El maestro puede subir hasta 5 videos con una barra de carga para mostrar progreso
El maestro puede ver sus cursos cargados
El maestro puede eliminar su curso
El maestro puede editar su curso
Prueba usando Jest y SuperTest para puntos finales expresos.
Clases de grupos en vivo en tiempo real que usan Socket.io y optimizan con Redis para almacenar mensajes de almacenamiento en caché