Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Williamfdeveloper/App

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
16 Commits
 
 
 
 
 
 

Repository files navigation

Descrição do Projeto:

API DE COMPRA DE APLICATIVOS

Requisitos de negócio

  • A API disponibiliza uma lista de aplicativos.
  • O cliente pode escolher comprar um aplicativo.
  • O cliente pode se cadastrar ou fazer login (se já tiver cadastro).
  • Os parâmetros de cadastro são: nome, cpf, data de nascimento, sexo, endereço completo.
  • O pagamento do aplicativo deve ser feito somente com cartão de crédito.
  • Cartão de crédito pode (opcional) ficar guardado para uso futuro.
  • O sistema só salva cartões que são válidos
  • Não precisa desenvolver a administração dos aplicativos.


Requisitos técnicos

  • As compras/transações devem ser processadas de modo assincrono, colocadas num serviço de fila.
  • Implementação de cache pra listagem dos aplicativos. (opcional).
  • Deve existir um serviço que busca as transações de cartão de crédito para processar da fila (sugiro utilizar o padrão Observer)
  • Tecnologias.
  • Serviço de consumer: Pode ser algo simples, como um console aplication em C# que lerá da fila e armazenará no banco de dados. (O pagamento pode ser aprovado de forma mockada)

Inicialmente foi criado uma solution e posteriormente adicionados os projetos na solution.

Entao, quando for feito o clone no projeto, todo o projeto estará dentro de uma pasta "AppSolution" que é justamente o nome da solution criada inicialmente.


Dados disponibilizados pelo projeto App.Api, onde é feito toda a coleta e busca dos dados em uma base SqlServer.

Cada requisição feita na api, é feito uma solicitação atraves de uma classe Service, que possui toda logica do negocio do projeto, onde é sempre referenciada por uma interface especifica.

O relacionamento entre as classe e suas interfaces, são feitas atraves do startup.cs do projeto.

Existem 3 Nomenclaturas disponivbeis no projeto.

Sevice: Responsavel pelas regras de negocio do projeto, onde é feito todas as validações dos dados imputados e logica do negocio, conversoes, etc..

Repository: Responsavel pela comunicação com repositorios de dados no banco de dados.

Adapters: Responsavel por toda comunicação a sistemas externos, no caso, utilizando uma chama em api.

Projetos:

App.ConsumerConsole

Responsavel por coletar as mensagens na fila de mensagens e processar os pedidos.

App.UI

Responsavel pela requisição dos dados via api e exibir os dados em tela.

App.api

Responsavel por receber as requisições dos aplicativos sendo elas, Get, Post, porem, não foram implementados metodos para receberem requisições do tipo put e delete, option.

App.Domain

Responsavel pela regra de negocio do projeto, onde toda as validações, mudança de status,  e requisição das classe de persistencia no banco(repository) e comunicação externa(Adapters)

App.Adapters

Responsavel pela comunicação externa via api.

App.Repository

Responsavel pela comunicação comunicação entre sistema e banco de dados.

App.Test

Responsavel pelos testes da aplicação, porem, ainda nao foi finalizado.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.