Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
a1f4964
Criação da estrutura básica do projeto, com as pastas para frontend e…
eloisa-castro Apr 12, 2020
237090a
Criação dos componentes Form e Header e das páginas de login, signup …
eloisa-castro Apr 12, 2020
c6f2c2b
Ajuste do GlobalStyle e do header
eloisa-castro Apr 12, 2020
9878fc7
Ajuste da estilização do material-ui
eloisa-castro Apr 12, 2020
34da541
Edição da VideoPage e inclusão da FeedPage
eloisa-castro Apr 13, 2020
c62c93f
Ajuste da NewVideoPage
eloisa-castro Apr 13, 2020
c3e4acb
Ajuste do FeedPage e do reducer, inclusão do Router
eloisa-castro Apr 19, 2020
b53325a
Ajuste dos erros do backend (delete do antigo e adição do novo template)
eloisa-castro Apr 19, 2020
8fc66b6
Ajuste dos dados do database e criação das entities
eloisa-castro Apr 19, 2020
e23d38c
Criação do usersDatabase
eloisa-castro Apr 19, 2020
c7e71a5
Criação do videoDatabase e correção de nomenclatura
eloisa-castro Apr 20, 2020
47bd140
Implantação da autenticação e criação do signup
eloisa-castro Apr 20, 2020
0c8d906
Criação do login (usecase e endpoint)
eloisa-castro Apr 20, 2020
8d5b76b
Criação do changePassword (usecase e endpoint)
eloisa-castro Apr 20, 2020
2725fdb
Ajuste do changePassword para pegar userId a partir do token
eloisa-castro Apr 20, 2020
f39f6cd
Criação do uploadVideo (usecase e endpoint)
eloisa-castro Apr 20, 2020
b15cbaa
Criação do getUserVideo (usecase e endpoint)
eloisa-castro Apr 20, 2020
83e2233
Criação do editVideo (usecase e endpoint)
eloisa-castro Apr 20, 2020
d3d208f
Criação do deleteVideo (usecase e endpoint) e ajuste do videoDatabase…
eloisa-castro Apr 20, 2020
3931ecb
Ajuste do recebimento do token nos endpoints
eloisa-castro Apr 20, 2020
fade8d0
Criação do getVideoDetails (usecase e endpoint)
eloisa-castro Apr 20, 2020
b800106
Criação do getAllVideos (usecase e endpoint) e ajuste do videoDatabase
eloisa-castro Apr 20, 2020
83cffe7
Revisão do código
eloisa-castro Apr 20, 2020
415ff0c
Integração com actions e reducers
eloisa-castro Apr 21, 2020
1f42fe9
Ajuste do frontend, com criação da HomePage
eloisa-castro Apr 21, 2020
965213e
Merge branch 'backend-01' into futuretube
eloisa-castro Apr 21, 2020
824d926
Ajuste de nomenclatura do front e do back
eloisa-castro Apr 21, 2020
7b88496
Correção de bugs do backend; revisão de todos os endpoints (todos fun…
eloisa-castro Apr 21, 2020
4b82bb5
Resolução do bug do backend ao subir a lambda e revisão do código do …
eloisa-castro Apr 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions semana21/backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/node_modules
/build
lambda.zip
50 changes: 50 additions & 0 deletions semana21/backend/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# LAMBDA + API GATEWAY + EXPRESS TEMPLATE

## EM QUAIS ARQUIVOS É PROIBIDO MEXER?

Não mexa nesses arquivos:

1. `src/lambda/*` (ou seja, em nenhum arquivo dentro dessa pasta)
1. `src/local/*` (ou seja, em nenhum arquivo dentro dessa pasta)

## Rodando localmente

Use o comando:

```
npm run start:dev
```

## Deploy em uma Lambda

Você deve começar criando um build do projeto

```
npm run build
```

Então, subir o arquivo compactado `lambda.zip` que foi gerado nesse processo na função de Lambda que você quiser usar

## Como eu crio um novo endpoint?

Esse projeto é baseado em uma arquitetura em camadas, divida em três:

- Business: contém todas as lógicas de negócio e a modelagem dos dados
principais

- Data: responsável pela comunicação no banco que, neste caso, é um MySQL

- Presentation: cuida de transformar os dados de entrada e saída nos modelos
apropriados

Quando for criar um endpoint, certifique-se que passou por todos esses passos:

[] Verifique se precisará criar uma nova entidade ou modificar alguma já existente.
Uma entidade é um modelo que representa alguma informação na nossa regra de negócios (`src/business/entity`)

[] Comece criando o use case com o nome apropriado na pasta `src/business/usecase`.
Lembre-se de criar um novo Gateway (`src/business/gateway`) ou alterar algum existente se precisar se comunicar com o banco, já que utilizamos inversão de dependências

[] Realize as implementações do banco necessárias alterando alguma classe já existente (`src/data`). Se for mexer com uma tabela nova, crie uma nova classe na pasta que seja filha da classe `BaseDatabase` e implemente ao menos algum Gateway

[] Crie um novo endpoint na presentation em `src/presentation/endpoint` e, então, crie uma nova rota do express no arquivo `src/presentation/routes`
8 changes: 8 additions & 0 deletions semana21/backend/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
roots: ['<rootDir>/src'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
}
Loading