Extras

Template de Crud Serverless

Com esse tutorial você será capaz de criar um crud em serverless em 60 segundos


Visão geral

Bem-vindo ao Template Serverless do JustLaunch! 👋

Com este template, você pode criar um CRUD funcional em apenas 60 segundos. Embora seja necessário ajustar o modelo de dados para se adequar ao domínio da sua aplicação, todos os serviços essenciais já estão prontos para uso. Basta remodelar os dados para refletirem as necessidades do seu negócio! 🚀

Iniciar o projeto na sua maquina

Versão do Node.js

O template JustLaunch necessita obrigatoriamente que a versão do node.js instalado em sua maquina seja 18.17 ou superior. Para verificar a versão do seu node.js execute node -v em seu terminal. E instale ou verifique a versão do seu serverless em sua maquina seja 4.3.2

  1. Em seu terminal, execute esse comando para criar um projeto serverless usando nosso template.
$ serverless create --template-url https://github.com/joedysonbezerra/just-launch-backend-template.git --path name_of_project
  1. Instalar as dependências
 npm install

Estrutura do projeto

📂 /src/TemplateModule.ts -> Responsável pela injeção de dependências do projeto. Aqui, você encontrará todas as classes que estão sendo importadas no projeto.

📂 /src/applications -> Nesta pasta, você encontrará os controladores e eventos de opt-in. Ela é responsável por validar os dados de entrada, garantindo que as informações recebidas estejam corretas antes de serem processadas. Os controladores aqui gerenciam a lógica de entrada e saída, atuando como intermediários entre as requisições dos usuários e os serviços ou camadas de negócios da aplicação.

📂 /src/domain -> Contém todas as interfaces que fazem parte do domínio do projeto.

📂 /src/usecases -> Camada responsável pelas regras de negócio, incluindo operações como criar, deletar, buscar por ID, realizar cálculos, entre outras funções.

📂 /src/infrastructures -> Camada responsável pela comunicação com serviços externos, como chamadas a APIs, banco de dados, serviços de pagamento, entre outros.

📂 /src/utils -> Usada para organizar e armazenar funções, classes e módulos que fornecem funcionalidades utilitárias ou auxiliares úteis em várias partes do projeto.

📂 /src/config -> Responsável por gerenciar as variáveis de ambiente do projeto.


Execute o deploy

No console do vscode com o projeto de back-end aberto, cole o comando abaixo e execute

serverless deploy --stage production

Camada de dados

Ao utilizar este template, lembre-se de atualizar esses itens para refletir o domínio específico do seu projeto. Isso garante que os DTOs, repositórios, modelos e entidades estejam alinhados com os requisitos e a lógica de negócios do seu domínio.

📂 /src/domain/dtos -> Contém os Data Transfer Objects (DTOs) utilizados para validar e transferir dados entre as diferentes camadas da aplicação. Esses DTOs ajudam a garantir que os dados de entrada estejam no formato correto antes de serem processados.

📂 /src/domain/entities -> Contém as entidades do domínio da aplicação. As entidades representam os objetos de negócio e encapsulam a lógica e as regras de negócio relacionadas a esses objetos.

📂 /src/infrastructures/repositories/ExamplesRepository -> Contém os repositórios responsáveis por interagir com a camada de persistência de dados. Os repositórios encapsulam a lógica de acesso aos dados, fornecendo uma interface para operações como criar, ler, atualizar e deletar registros.

📂 /src/infrastructures/dynamoDB/models/ExampleModel -> Contém os modelos do DynamoDB utilizados para mapear os dados da aplicação às tabelas do banco de dados. Os modelos definem a estrutura das tabelas e suas propriedades.


Endpoints

Você pode alterar o path dos endpoints no arquivo

📂 /src/applications/http/functions.yml

Upsert Examples

POST /examples
src/applications/http/upsertExamples/index.main

Delete Examples

DELETE /examples/{id}
src/applications/http/deleteExamples/index.main

Find Example

GET /examples/{id}
src/applications/http/findExample/index.main

Previous
Arquitetura do Back-End 🆕🎉