wcipriano / myfinance-web-dotnet

Projeto de trabalho da disciplina Práticas de Implementação e Evolução de Software da Especialização em Engenharia de Software da PucMG

Repository from Github https://github.comwcipriano/myfinance-web-dotnetRepository from Github https://github.comwcipriano/myfinance-web-dotnet

My Finance Web

Pos-graduação Especialização em Engenharia de Software - Práticas de Implementação e Evolução de Software - Trabalho Prático Final.

Wager Cipriano - 993540

Implementação de uma aplicação Web, aquitetura MVC, em dotnet C# para controle de finanças: Link da Atividade no LMS

Requisitos:

Runtimes:

  • Microsoft.AspNetCore.App 7.0.13 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
  • Microsoft.NETCore.App 7.0.13 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

SDKs:

  • 7.0.113 [/usr/lib/dotnet/sdk]

Banco de dados:

O banco de dados foi implementado no MS SQL Server, versão 2019-latest

Arquitetura:

Diagrama Arquitetural

Arquitetura utilizada foi o MVC, um padrão de design usado para desacoplar a interface do usuário (VIEW), os dados (MODEL) e a lógica do aplicativo (CONTROLLER).

Arquitetura My Finance

Frontend

Backend

  • Dotnet .NET
  • SGBD: MS SQL Server 2019-latest
  • C# + EntityFrameworkCore + EntityFrameworkCore.SqlServer
  • AutoMapper + AutoMapper.Extensions.Microsoft.DependencyInjection
  • DotEnv.Core

Create local Database

  1. Create MS Sql Server instance (container docker) docker pull mcr.microsoft.com/mssql/server:2019-latest docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=SqlS1-Fin" -e "MSSQL_PID=Express" --name sql1 --hostname sql1 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
  2. Configure database access (host, port, user, passwd)
  3. Conn instance
  4. Create database: name myfinance
  5. Execute Script.sql
  6. Connection String DATABASE_URL. Example: @"Server=localhost,1433\\Catalog=myfinance;Database=myfinance;User=sa;Password=SqlS1-Fin;TrustServerCertificate=True;"

Setup Local

Procedimento para instalação local:

  1. Clone project: git clone git@github.com:wcipriano/myfinance-web-dotnet.git

  2. Open project folder: cd myfinance-web-dotnet

  3. Create .env file on the project root dir, and insert keys: CONNECTION_STRING

  4. Open src folder: cd myfinance-web-dotnet

  5. Install Nuget packages:

    dotnet add package Microsoft.EntityFrameworkCore --version 7.0.13
    dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 7.0.13
    dotnet add package AutoMapper --version 12.0.1
    dotnet add package AutoMapper.Extensions.Microsoft.DependencyInjection  --version 12.0.1
    dotnet add package DotEnv.Core --version 3.0.0
    

    Lib nuget online: url example

  6. Build application: dotnet build

  7. Run the application: dotnet watch run

Funcionalidades extras implementadas:

  • RF100 – Confirmação ao excluir Transação
  • RF101 – Ajuste Tela de Plano de Contas: Tipo = radio.
  • RF102 – Ajuste Tela de Registro de Transações: Incluir Forma Pgto pagamento com validação de campo apenas para transações do tipo "Despesa"
  • RF103 – Relatório de Transações por Período:
  • RF104 – Gráfico de Receitas vs Despesas por Período:

Backlog:

  • Plano contas: Form Validation
  • Transações: Colocar data padrão sendo a data atual no form (/src/Views/Transacao/Cadastro.cshtml)
  • Melhorias Layout, topo, rodape, etc
  • Testes unitários

REFS:

About

Projeto de trabalho da disciplina Práticas de Implementação e Evolução de Software da Especialização em Engenharia de Software da PucMG


Languages

Language:C# 50.4%Language:HTML 44.9%Language:CSS 4.0%Language:JavaScript 0.7%