Aplicativo de página única totalmente responsiva feita usando a pilha Mern! ?
Tecnologia usada
Reagir
Nó
Mongo DB
Expressar
Redux
Redis
Jove
Banco de dados usado
Mongo
Redis
Começando
Clone o repositório do seu ambiente local, você deve instalar separadamente todas as dependências para back -end e front -end.
Para back -end, vá para a pasta de back -end (back -end do CD) e execute npm i
Instale o MongoDB
ou, você pode usar o site
Adicione suas variáveis ambientais
Crie um arquivo .env no diretório raiz da pasta de back -end e adicione seus tokens lá com relação às variáveis de arquivos de configuração.
Access_token_secret = "algum segredo"
Access_token_life = time
Refresh_token_secret = "algum segredo"
Refresh_token_life = time
Sendgrid_key = ""
Mongo_database = ""
Oauth2client = ""
Stripe_secret_token = ""
Redis_host = ""
Redis_password = ""
Redis_port = ""
Nota: verifique se as variáveis de arquivos .env correspondem aos dos arquivos de configuração como a imagem abaixo.
Para o front-end, vá para a pasta front-end (front-end de CD) e execute npm i
Para executar um ambiente de desenvolvimento, você pode usar o comando npm start . Isso iniciará um servidor da Web de desenvolvimento na porta 3000 para o front-end e um servidor API de Nodemon Watched na porta 8080.
NOTA: Você precisa fazer o Start NPM para back -end e front -end separadamente.
Teste de unidade
Você pode testar o back -end, expressar pontos de extremidade usando o comando (teste npm)
Docker compor
O Coursera Clone é Dockerised e o repositório do Docker Hub pode ser encontrado aqui https://hub.docker.com/repository/docker/ayushverma/coursera/general
Se você usar o Docker e o Docker compor, poderá iniciar o projeto inteiro com:
docker-compose up
? Características
Estudante
Sistema de autenticação com inscrição, login, verificação de OTP, reenviar o OTP, esquecer a senha (totalmente validada com alertas de bootstrap)
Autenticação do Google (OAuth2) usando o React-Google-Login e o Google Auth-Library
Gateway de pagamento de faixas integradas com back -end para comprar cursos
Store Redux para gerenciar facilmente os estados
Página inicial com cursos sendo buscados categoricamente
Cursos recomendados com base nas preferências do usuário
Classificação dos cursos
Cursos marcados onde os usuários podem remover ou adicionar marcador
Baixar Recursos (PDF - Notas)
React Responsive React Video Player para vídeos
Barra de progresso
Página de curso com todo o conteúdo do curso
Pesquisando com base no curso e professor
Aulas de grupo ao vivo em tempo real
Professor
Sistema de autenticação adequado com inscrição, login, verificação de OTP, reenviar OTP, esquecer a senha (totalmente validada com alertas de bootstrap)
Formulário de upload de professores totalmente validado com descritivo, título, imagem e outros detalhes
Ckeditor para escrever em caixa de texto com habilidades para adicionar títulos diferentes, parágrafos, negrito, itálico, link, mesas, tamanhos etc.
O professor pode fazer upload de até 5 vídeos com barra de upload para mostrar o progresso
O professor pode ver seus cursos enviados
O professor pode excluir seu curso
O professor pode editar seu curso
Testes usando JEST e Supertest para pontos de extremidade expressos.
Aulas de grupo ao vivo em tempo real usando soquete.io e otimizado com redis para mensagens de cache