corona-quiz-backend

所属分类:3D图形编程
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2023-01-05 11:50:12
上 传 者sh-1993
说明:  为FATEC微信息学编程课程学期工作开发的项目,
(Project developed to subject semester work of Programming in Micro Informatics at FATEC. ,)

文件列表:
.vscode/ (0, 2021-04-16)
.vscode/launch.json (480, 2021-04-16)
coronaquiz.png (499506, 2021-04-16)
package-lock.json (203021, 2021-04-16)
package.json (856, 2021-04-16)
src/ (0, 2021-04-16)
src/app/ (0, 2021-04-16)
src/app/controllers/ (0, 2021-04-16)
src/app/controllers/authController.js (4207, 2021-04-16)
src/app/controllers/index.js (274, 2021-04-16)
src/app/controllers/quizController.js (2548, 2021-04-16)
src/app/middlewares/ (0, 2021-04-16)
src/app/middlewares/auth.js (808, 2021-04-16)
src/app/models/ (0, 2021-04-16)
src/app/models/quiz.js (932, 2021-04-16)
src/app/models/user.js (913, 2021-04-16)
src/config/ (0, 2021-04-16)
src/config/mail.json (143, 2021-04-16)
src/database/ (0, 2021-04-16)
src/database/index.js (461, 2021-04-16)
src/index.js (944, 2021-04-16)
src/modules/ (0, 2021-04-16)
src/modules/mailer.js (626, 2021-04-16)
src/resources/ (0, 2021-04-16)
src/resources/mail/ (0, 2021-04-16)
src/resources/mail/auth/ (0, 2021-04-16)
src/resources/mail/auth/forgot_password.html (83, 2021-04-16)
src/testes/ (0, 2021-04-16)
src/testes/soma.test.js (331, 2021-04-16)

BACK-END - Corona Quiz

Análise e Desenvolvimento de Sistemas

Faculdade de Tecnologia de So José dos Campos - Prof. Jessen Vidal.

GitHub top language Repository size GitHub last commit Repository issues GitHub

Introduo   |    Tecnologias   |    Arquitetura da API

Execute no Insomnia

# INTRODUO
Este repositório é do back-end do trabalho semestral da matéria de Programao em Microinformatica do 1 semestre de Análise e Desenvolvimento de Sistemas da Faculdade de Tecnologia de So José dos Campos - Prof. Jessen Vidal, cuja a mesma é palestrada pelo Prof. Jean Carlos Loureno Costa. Este projeto teve como finalidade desenvolver uma aplicao mobile no modelo de Quiz e o tema escolhido por mim foi sobre o coronavírus, devido a situao atual em que o planeta vive de pandemia de Covid-19, portando decidi fazer esse aplicativo com característica mais informativa unindo o aprendizado descontraído de um Quiz.
Este back-end trata-se de uma API-REST feita em NodeJS com a utilizao do Express e o MongoDB, contendo um módulo de autenticao e criao de Quiz e possuindo um controle de rotas/endpoints com um middleware responsável pela verificao de token.
Para disponibilizar de modo mais prático e fácil esta API, foi realizado o deploy no Heroku. Para acessá-la e consumi-la clique no boto do Insomnia logo acima e baixe o arquivo json.

# TECNOLOGIAS
Nesta aplicao foram selecionadas certas tecnologias, onde apresentaram maiores diretrizes para que fosse cumprido o objetivo do trabalho. As quais sero descritas a seguir:

NodeJS

O Node.js é um ambiente de tempo de execuo JavaScript de código aberto e de plataforma cruzada. O Node.js executa o mecanismo JavaScript V8, o núcleo do Google Chrome, fora do navegador. Isso permite que o Node.js seja muito eficiente. Ele pode ser usado tanto para Front-End como para Back-End, o que facilita, pois evita ter de aprender uma nova linguagem.

Heroku

O Heroku é uma plataforma em nuvem que permite que as empresas construam, entreguem, monitorem e escalem aplicativos. Basicamente um servidor na nuvem, onde empresas e desenvolvedores podem conectar suas aplicaes.

MongoDB

O MongoDB é um banco de dados distribuído, embasado em documentos e de propósito geral, desenvolvido para desenvolvedores de aplicativos modernos e para ser utilizado em nuvem. O MongoDB permite a criao de usuários, configurando seus privilégios de acesso, baseado em usuário administrador, usuários com permisses de leitura e gravao de dados e usuários que podem apenas ler os mesmos.

GitHub

Github é um servio web que oferece diversas funcionalidades extras aplicadas ao git. Quase todos os projetos/frameworks/bibliotecas sobre desenvolvimento open source esto no github, e o usuário pode acompanhá-los através de novas verses, contribuir informando bugs ou até mesmo enviando código e correes.

# ARQUITETURA DA API
Esta etapa irá detalhar todo o funcionamento solene do desenvolvimento da API. Foram divididos em categorias e sero descritos os processos e valores integrados ao projeto.

# MDULO DE AUTENTICAO
Esta API-Rest contém um módulo de autenticao de usuário e possui as devidas definies de permisses de acesso aos EndPoints através de um Bearer Token. Foram integradas etapas de validao de criao de usuário, login de usuário, recuperao de senha (onde é enviado um e-mail) e resete de senha.

Atributos Utilizados

Bcrypt

um algoritmo de criptografia do tipo Hash para senhas. Onde foi combinado com o Salt (Salted Hashing), que é uma sequência de caracteres, números ou termos adicionados antes da senha, que do aleatoriedade ao resultado da mesma criptografada, tornando-a mais complexa.

Dotenv

A maioria dos projetos possuem dados sensíveis, como informaes do banco de dados, chaves de “API's”, Secret Keys, entre outras informaes. Ele serve para adaptar as variáveis ambiente de um projeto, todas as informaes sensíveis ficam armazenadas em um arquivo chamado ".env", assim ele fica fora do controle de verso do software como GIT, SVN e outros.

Mongoose

uma biblioteca do Nodejs que proporciona uma soluo baseada em esquemas para modelar os dados da sua aplicao. Possui sistema de converso de tipos, validao, criao de consultas e hooks para lógica de negócios. Isso significa que o Mongoose traduz os dados do banco de dados para objetos JavaScript para que possam ser utilizados por sua aplicao.

Express

um framework web rápido, flexível e minimalista para Node.js, está voltado para a criao e obteno dos dados a partir do seu servidor, independente da linguagem que os irá utilizar.

Crypto-JS

O CryptoJS é uma coleo crescente de algoritmos criptográficos padro e seguros implementados em JavaScript usando as melhores práticas e padres. Eles so rápidos e possuem uma interface consistente e simples.

JSON Web Token (JWT)

O método JWT define uma maneira compacta e independente de transmitir informaes com segurana entre as partes como um objeto JSON.

Mailer

O Mailer tem sido usado com Node.js, um ambiente de execuo Javascript server-side, isto é, uma maneira de executar código escrito em javascript do lado do servidor. Uma das eventuais tarefas que o Node.js pode executar é o envio de e-mails. Esta funo por ser útil para notificar o contato de possíveis clientes, enviar algum conteúdo para as pessoas que solicitarem, para notificar sobre alguma ao dentro da sua aplicao, etc.

Nodemon

O Nodemon é um utilitário que monitora qualquer alterao na sua fonte e reinicia automaticamente o servidor. Perfeito para o desenvolvimento.

Cors

Cross-origin resource sharing (CORS ou compartilhamento de recursos de origem cruzada) é uma especificao de uma tecnologia de navegadores que define meios para um servidor permitir que seus recursos sejam acessados por uma página web de um domínio diferente.




Veja meu Linkedin
Desenvolvido por Eduardo Pereira Boares.

近期下载者

相关文件


收藏者