Giter VIP home page Giter VIP logo

maratonajsmaremersonbroga's Introduction

PROJETO XXXX

Ferramentas e Tecnologias

Neste Projeto serão utilizadas as seguintes tecnologias:

  • JavaScritp

  • Node

  • NPM

  • VSCode

  • Linux

  • ....

Bibliotecas

[dotenv] [mongoose] [Express] [Nodemon] [cookie-parser]

Scripts

  • Arquivo seeds/import.js

    Conecta com o banco de dados [connecToDB] Recebe e trata erros de dados

    Lê arquivo .json que contém os jogos [readGamesFromFile]

Configurar Banco de dados

[x] Configuração do Banco de dados MongoDB no arquivo [seeds/import.js] [x] Configuração do Banco de dados MongoDB no arquivo [models/index.js]

Arquivos de Configurações

[] Iniciar Servidor com o {express}

  - `.env`

APRENDIZADO

Fazer Leitura de Arquivos

......

PAGINAÇÃO DA PESQUISA NO BANCO DE DADOS

LIMITAÇAO DO QUANTITATIVO DOS RESULTADOS DAS PESQUISAS

ORDENAÇÃO POR CRESCENTE OU DECRESCENTE

......

Express
yarn add express
yarn add express
yarn add @types/express
types/express
npm install typescript -D
yarn ts-node-dev -D

yarn init -y - Inicar projeto

yarn add express - Micro FremWork para criação de | Rotas | Servidor | FramWorks

Aula 02

  • Conexão com o banco de dados
  • Query Builders
  • Criação de Models
  • ORM Config - Configurações do Banco de dados

src/database/index.js

  • Exporta o arquivo de banco de dados
  • Configuração de Conexão
  • Caminho do banco de dados
npm install sqlite3 --save
yarn add typeorm reflect-metadata

Criação de migrations

  • Script do package.json -- "typeorm": "ts-node-dev node_modules/typeorm/cli.js"

src/database/migrations/

  • Configuração para criação no diretório padrão migrations

  • script para criação das migrations -- yarn typeorm migrations:create -n CreateUsers

  • Rodar a migratio

  - yarn typeorm migration:run
  • Desfazer migration
  - yarn typeorm migration:revert

src/controller/UserController

  • Configuração da controller UserController
  • Configuração da Tipagem do typeScript

routers.ts

  • Configuração da rotas
  • Dividir os serviços das rotas

Models / entidades

  • Configuração da rotas
  • Dividir os serviços das rotas

Refatoração do código

  • [] Criar Repositório de Usuário

scr/repositories/

  • Repositório de Usuários [ { UsersRepository.ts } ]
  • Alteração do Controller para o Repositório Criado

Aula 03

Migrations

Migration - Pesquisas (Survey)

  • Criar Migration de Pesquisas (Survey)
  - yarn typeorm migration:create -n CreateSurveys
  • Executar Migration de Pesquisas (Survey)
  - yarn typeorm migration:run
  • Criar a Model de Pesquisas (Survey)
  - `src/models/Survey.ts`
  • Implementar a models pesquisa de acordo com o a migration criada

  • Criar Controller de pesquisas (survey)

  - `src/controllers/SurveyController.ts`
  • Implementar a Controller pesquisa para receber os métodos

  • Criar o Repositório de pesquisas (survey)

  - `src/repositories/SurveyController.ts`
  • Implementar o Repositório pesquisa (survey)

Testes

Ferramentas para o Teste

  • Ferramente JEST
  - yarn add @types/jest -d
```shell
- yarn add ts-jest -D

* [x] Iniciar o Jest
```shell
  - yarn jest
Esse Comando inicia o arquivo jest.config.ts
  • Configura o arquivo jest.config.ts
  - `bail: true,`
  - `testEnvironment: "node"` (Desabilitar),
  - `preset: "ts-jest"`
  - `
    * Configuração do testMAtch
      testMatch: [
        "**/__tests__/*test.ts/"
    ],
  `
```shell

Teste de Integração

Ferramenta - Super Test

  - yarn add supertest @types/supertest -D

Teste de Usuário

  * Arquivo `User.test.ts`
  * Arquivo `Survey.test.ts`
  * Alteração no arquivo de banco de dados
  * Criação do banco de dados de teste
  * Excluir banco de dados de teste, após os restes realizados
  ` "posttest": "rm./src/database/database.test.sqlite"`

Aula 4

Envio de Email - BackEnd

  • Criação da Migration de SurveysUser

  • Criação do Repositório SurveysUser

  • Criação do Controller de SurveysUser

  • Configurar Serviço de Email

  • Enviar Email

    • Criar Migration de (SurveyUsers)
      - yarn typeorm migration:create -n CreateSurveysUsers
    • Executar Migration de SurveysUsers
      - yarn typeorm migration:run
    • Implementar Migration de (SurveyUsers)

    • Criar a Model de SurveysUsers

      - `src/models/SurveyUser.ts`
    • Implementar a models SurveyUser de acordo com o a migration criada

    • [] Criar Controller de SurveysUsers

      - `src/controllers/SurveyController.ts`
    • Implementar a Controller pesquisa para receber os métodos

    • Criar o Repositório de SurveysUsers

      - `src/repositories/SurveyController.ts`
    • Implementar o Repositório SurveysUsers

Configuração do Envio de Email - BackEnd

  • nodemailer
  • Configurações na pasta src/services/SendMailService.ts
  • Implementação do Envio de Email
  • Biblioteca nodemailer
      - `yarn add nodemailer`

Configuração de Template

  • Handlebars
  • Configurações do template na pasta src/views/emails
  • Configurações do template de email na pasta src/views/emails/npsMail.hbs (*Obs - a extensão hbs permite que seja escrito html no arquivo)
  • Biblioteca handlebars
      - `yarn add handlebars`
  • Integrar o template handlebars com a API
  • Configurar variável de Ambiente para comunicação da handlebars com a API
  • Não Deixar que o mesmo usuário responda apenas uma pesquisa

Aula 04

[] Refatoração da controller SendMailController [] Criação de Controller de resposta ao usuário - Validações e alteração da nota. [] Criação da controller do calculo do NPS [] Validações

Controller de Resposta

  • Criação da controller de resposta de SurveysUser src/controller/AnswerController.ts
  • Criação da ROTA em src/routes.ts/
  • Criar Migration de (SurveyUsers)
  - yarn typeorm migration:create -n CreateSurveysUsers

maratonajsmaremersonbroga's People

Contributors

vitorbassdev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.