# Criação de uma aplicação financeira ###### tags: `Aplicação Financeira` [ToC] ## Tecnologias utilizadas - Framework .NET 5.0 - Banco de dados SQL Server 2.019 através do Docker; - Docker; - Dapper para acessar o banco de dados; - .Net Core Web API --- ## Azure Devops (Board) :::info :pushpin: Board do projeto ➜ [Clique aqui para ir até o Board](https://projectmarcelodeoliveira.visualstudio.com/CloneMobills) ::: --- ## Camadas do Sistema - **Aplicação**: Responsável em orquestrar as requisições de entrada/saída e nutrir de informações para as demais camadas; - **Contratos**: Irá armazernar todas as interfaces (contratos) que serão usados nas camadas abaixo: - **CamadaInfraEstrutura**: Irá armazenar todas as interfaces que a camada de infraestrutura irá utilizar; - - **CamadaServico**:Irá armazenar todas as interfaces que a camada de serviços irá utilizar; - **DTOs (Data Transfer Objects)**: Classes anêmicas que serão responsáveis em transportar informações entre as camadas; - **ObjetosValor**: - **Serviços**: - **Comandos**: Irá armazenar as classes de comandos que poderão ser utilizados nos parâmetros das Apis e poderão ser divididos em: **comandos de atualização e comandos de consulta**; - **Infraestrutura**: Responsável em fazer todo o acesso externo da aplicação, como por exemplo, acessar os bancos de dados, acessar APIs externas entre outro recursos; - **Repositórios**: Classes de acesso a recursos externos como por exemplo, acesso ao banco Sql Server, MongoDB entre outras coisas; - **IOC**: Classe responsável em realizar o inverse of control e irá armazenar um classe onde será armazenada as strings de conexões de acesso a bancos ou outra configurações necessárias para acesso ou parâmetros aos recursos externos; - **RecursosCompartilhados**:Irá armazenar classes que serão compartilhadas entre todas as outras camadas; - **BancoDados**: Projeto que irá armazenar toda as estrutura de objetos relacionados ao banco de dados Sql Server e também irá atualizar o banco de produção e de desenvolvimento; - **Dominio**: Projeto que irá armazenar as classes de domínio de negócio, como por exemplo: Classes que representam um determinado cliente, fornecedor, representante e poderão ser usadas para persistir os dados em algum recursos externo, como um gerenciador de banco de dados; --- ## Relação de tabelas - **Idiomas** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDIdioma | Short | S | S | | | | DescricaoIdioma | Varchar(100) | S | N | | | - **Moeda** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDMoeda | Short | S | S | | | | DescricaoMoeda | Varchar(150) | S | N | | | | SiglaInternacional | Varchar(20) | S | N | | | - **Usuario** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDUsuario | Varchar(40) | S | N | | | | Email | Varchar(200) | S | N | | | | Senha | Varchar(40 ) | S | N | | | | IDIdioma | Short | S | N | | | | Foto | Binary | N | N | | | - **TipoConta** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDTipoConta | Short | S | S | | | | DescricaoTipoConta | Varchar(40) | S | N | | | | Icone | | S | N | | | - **ContaCorrente** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ----------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDUsuario | Varchar(40) | S | N | | | | Saldo | Decimal(18,2) | N | N | | | | CodigoBacen | Varchar(5) | S | N | | | | NomeConta | Varchar(50) | S | N | | | | IDTipoConta | Short | S | N | | | | IncluirSomaTelaInicial| Byte | N | N | 0 (Zero) | | | Cor | Byte | N | N | | | - **BandeirasCartaoCredito** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | -----------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDBandeiraCartaoCredito| Short | S | S | | | | NomeBandeira | Varchar(40) | S | N | | | | Icone | Binary | N | N | | | - **CartaoCredito** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | -----------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDUsuario | Varchar(40) | S | N | | | | IDBandeiraCartaoCredito| Short | S | N | | | | Limite | Decimal(18,2) | N | N | 0 (Zero) | | | NomeDoCartao | Varchar(60) | N | N | | | | CodigoBacen | Varchar(5) | S | N | | | | DiaFechamento | Byte | S | N | | | | DiaPagamento | Byte | S | N | | | - **InstituicaoFinanceira** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | CodigoBacen | Varchar(5) | S | S | | | | NomeReduzido | Varchar(200) | S | N | | | | LogoTipo | Binary | N | N | | | - **Tags** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDUsuario | Varchar(40) | S | N | | | | IDTag | Short | S | S | | | | NomeTag | Varchar(100) | S | N | | | - **Categoria** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDUsuario | Varchar(40) | S | N | | | | IDCategoria | Short | S | S | | | | NomeCategoria | Varchar(100) | S | N | | | | Icone | | S | N | | | | Cor | | S | N | | | - **SubCategoria** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default| Descrição | | ---------------------| ------------- |:-----------:|:--------------:|:-------------|---------- | | IDUsuario | Varchar(40) | S | N | | | | IDCategoria | Short | S | S | | | | IDSubCategoria | Short | S | S | | | | NomeSubCategoria | Varchar(100) | S | N | | | | Icone | | S | N | | | | Cor | | S | N | | | - **Lançamentos** | Campos | Tipo | Obrigatorio | AutoIncremento | Valor Default | Descrição | | --------------- | ------------- |:-----------:|:--------------:|:------------------------------------------ | ---------- | | IDUsuario | Varchar(40 | S | N | | | | IDTransacao | Integer | S | S | | | | TipoTransacao | Char(1) | S | | | D (Despesa) R (Receita) C (Cartão Crédito) | | ValorOriginal | Decimal(18,2) | S | N | 0(Zero) | | | DataPagamento | DateTime | N | N | 0(Zero) | | | ValorPago | Decimal(18,2) | N | N | 0(Zero) | | | IDCodigoMoeda | Short | S | N | | | | FoiPaga | Byte | S | N | 0(Zero) | | | Parcela | Varchar(7) | N | N | | | | DataTransacao | DateTime | S | N | 0(Zero) | | | Descricao | Varchar(max) | S | N | | | | IDCategoria | Short | S | | | | | IDSubCategoria | Short | N | | | | | IDCodigoConta | Short | S | | | | | IgnoraTransacao | Byte | S | | 0(Zero) | | | SomaProximoMes | Byte | N | | 0(Zero) | | | IDTag | Short | N | | Null | | | Observacao | Varchar(max) | N | | | | | DespesaFixa | Byte | N | | 0(Zero) | | | Repetir | Byte | N | | 0(Zero) | | | QtdVezesRepetir | Short | N | | 0(Zero) | | | Periodicidade | Byte | | | 1 - Dias, 2 - Semanas, 3 - Meses 4 Anos | | | IDContaCorrente | Short | S | | | |
{"metaMigratedAt":"2023-06-16T10:51:03.850Z","metaMigratedFrom":"Content","title":"Criação de uma aplicação financeira","breaks":true,"contributors":"[{\"id\":\"b277554e-58cf-4bbc-bb60-dd8c58acfc95\",\"add\":24186,\"del\":11047}]"}
    170 views
   Owned this note