Repositório com o conteúdo do trabalho prático da disciplina Práticas de Implementação e Evolução de Software da Pós graduação em Engenharia de Software - Oferta 7 - Turma 1 - do Instituto de Educação Continuada da PUC Minas
Esse projeto didático teve o intuito de criar uma pequena aplicação financeira para uso pessoal. A aplicação foi criada em ASP.NET MVC (Model-View-Controller) com Razor pages e persistência de dados em Microsoft SQL Server 2022, Developer Edition. O mapeamento dos dados foi feito usando Entity Framework Core 9.
A proposta do projeto está disponível no arquivo ConcepçãoMyFinanceWeb.pdf
O modelo arquitetural resumido é apresentado na imagem abaixo e a implementação contida nesse projeto satisfaz parcialmente esse desenho. Algumas mudanças são a atualização da versão do SDK do .NET e uma simplificação com respeito às camadas do projeto. O projeto presente contém todas as camadas em um único arquivo .csproj por questões de tempo reduzido para uma implementação mais detalhada.
Figura 1: Modelagem Arquitetural elaborada pelo Professor Filipe Tório
Dois protótipos simplificados da tela para exibição, edição, inserção e edição das transações e dos planos de contas são apresentados abaixo. Como são protótipos de baixa fidelidade, as telas criadas no projeto não correspondem detalhadamente à essas representações.
Figura 2: Exemplo de tela para o Plano de Contas elaborada pelo Professor Filipe Tório
Figura 3: Exemplo de tela para as Transações elaborada pelo Professor Filipe Tório
Para executar essa aplicação são necessários os seguintes requisitos:
- Ter o SDK do .NET instalado em versões iguais ou superiores ao .NET 8
- Para essa versão, consulte o link Download .NET 8.0);
- Um editor de código como o
Visual Studio Code
ou uma IDE comoVisual Studio Community 2022
- Essas são apenas sugestões de uso mas outros editores e IDEs podem ser também usados;
- E uma versão do Microsoft SQL Server 2022 instalada no seu computador (para criar o banco para o desenvolvimento e execução)
- Ou ainda acesso a uma instância do Azure SQL Server com permissão para criar um novo banco de dados.
- Clonar esse repositório em seu computador usando os comandos abaixo:
# Escolher um diretório para clonar o repositório
cd {diretório de sua preferência}
# Comando para clonar o repositório
git clone https://github.com/dickson-souza-projects/myfinance-web-dotnet.git
# Acessar o conteúdo do repositório
cd myfinance-web-dotnet
A criação do banco de dados é feita através do script DB-Creation-And-Configuration.sql: por meio dele é criado o banco de dados MyFinance contendo duas tabelas: PlanoConta e Transacao.
A tabela PlanoConta descreve os tipos de transação existente, tais como despesas com combustível, água, luz e recebíveis como salários, aluguéis e dividendos.
Figura 4: Exemplo de Tabela de Plano de Contas (extraído do documento ConcepçãoMyFinanceWeb.pdf, elaborado pelo professor Filipe Tório)
Já a tabela Transacao contém registros de transações individuais, categorizadas pelo PlanoConta correspondente.
Figura 5: Exemplo de Tabela de Transações (extraído do documento ConcepçãoMyFinanceWeb.pdf, elaborado pelo professor Filipe Tório)
Para facilitar o onboarding no projeto, um pequeno script foi criado para inserir alguns dados nas duas tabelas. Esse script pode ser encontrado no arquivo Feeding-Database.sql. E um outro script está disponível com algumas consultas simples no arquivo Queries.sql.
Para executar o projeto sem depuração, abra a solução myfinance-web.sln no Visual Studio Community 2022 e pressione CTRL + F5
. Já para executar usando os recursos embutidos de depuração no Visual Studio Community 2022, pressione apenas F5
- lembre-se de definir alguns pontos de interrupção para monitorar seções específicas do código.
Caso você use o Visual Studio Code e prefira uma interface de linha de comando, a execução do projeto sem depuração necessita do seguinte comando na raiz do repositório:
dotnet run
Para interromper a execução, basta pressionar CTRL + C
no terminal. A figura abaixo mostra um exemplo da saída exibida na tela ao final da compilação e dos avisos emitidos.
Figura 6: Exemplo de execução do comando dotnet run
Já para depurar o código, basta pressionar F5
(certifique-se antes que a configuração Debug myfinance-web
está selecionada no painel de Run and Debug do VS Code). Lembre-se ainda de definir alguns pontos de interrupção para inspeção do código.
Um exemplo de depuração no VS Code é mostrado na Figura 7, abaixo:
Figura 7: Exemplo de depuração no VS Code