Skip to content

augustodevjs/teste-tecnico-fullstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

🖼️ Front-End

A organização de pastas do projeto no Front-End é feita dividindo as responsabilidades em módulos para organizar o projeto como um todo e facilitar o desenvolvimento. Os modulos são:

  • components: Módulo que comporta todos os componentes feitos no projeto;
  • core: Módulo que possui arquivos e utilitarios essenciais para o funcionamento da aplicação;
  • domain-types: Módulo referente a todos os tipos criados com o auxilio do Typescript;
  • services: Módulo que comporta todos os services que fazem comunicação com o Back-End;
  • styles: Módulo que comporta estilizações globais;
  • pages: Módulo que comporta todos os componentes referentes às páginas, seus modais, hooks, serviços que se comunicam e etc.

💡 Rodando o Front-End

Pre-requisitos

Antes de tudo é necessário instalar:

  • Node.js

  • Instalando o TypeScript

    npm install -g typescript.
  • Instalando o yarn

    npm install --global yarn
  • Verificando se o yarn está instalado

    yarn --version
  • Clonando o respositório

    git clone https://github.com/augustodevjs/teste-tecnico-fullstack
  • Entre no diretório do front

    cd ./frontend
  • Variável de Ambiente

    crie um arquivo chamado .env e copie a url da api para esse arquivo de acordo com .env.example
  • Installando as dependencias do projeto com yarn

    yarn
  • Rodando o projeto no modo de desenvolvimento

    yarn run dev

🖥️ Principais tecnologias utilizadas no Front-End

⌨️ Back-End

Foi utilizado o framework .NET 7 e Entity Framework com a arquitetura divida em módulos e a conexão com o banco de dados postgresql, mas com a organização de pasta seguindo a modelagem de DDD (Domain Driven Desing) para facilitar a implementação de regras de negócios e outros processos complexos.

Dito isso, o projeto foi estruturado em 5 "camadas" que são:

  • API: Comporta configurações da aplicação e controllers;
  • application: Cuida da comunicação com o Domain, comportando: classes de serviços, interfaces, DTOs, etc;
  • infra: Comporta o suporte geral às demais implementações como repositories, mappers, contextos, etc;
  • domain: Comporta todas as entidades, interfaces e classes de serviços;
  • tests: Comporta todos os testes das services.

💡 Rodando o Back-End

Pre-requisitos

  • NET SDK

  • Postgresql

  • DBeaver

  • Entre no diretório do back

    cd ./backend/src/Store.API
  • Rode a API

    dotnet run
  • Para vê os testes unitários do backend entre no diretório

    cd ./backend/tests/Store.Application.Tests
  • Rode os Testes

    dotnet test

🖥️ Principais tecnologias utilizadas no Back-End