PTRF

De MSTECH wiki
Ir para: navegação, pesquisa

Informações Gerais

Ambientes utilizados

Ambiente URL de Acesso Credenciais Admin
Testes http://192.168.10.22:59231/ admin / 123456
Homologação Interna http://cfrepasse.mstech.com.br/ admin / 123456
Homologação Externa http://h-ptrf.sme.prefeitura.sp.gov.br/ Informação exclusiva do Devops/GTI
Produção http://ptrf.sme.prefeitura.sp.gov.br/ Informação exclusiva do Devops/GTI

Repositório de Versionamento

Ambiente: GITLab - Git

Nome: ptrf

Caminho: https://gitlab.com/smecotic/ptrf

Estrutura dos branches: Branches develop e master.

Visão de Componentes

O PTRF (Controle Financeiro de Repasses) permite que o gestor controle por completo o uso de seus recursos, sejam eles próprios ou transferidos, permitindo assim, o registro e consolidação de todas ações e processos, facilitando a prestação e a aprovação de todas as contas da instituição. A ferramenta conta com diversos recursos que auxiliam o cadastro e liberação de repasses, controles de recebimentos, lançamento de despesas, prestação de contas, notificação de prazos e alertas, módulo de ajuda e relatórios gerenciais.

Apresente um diagrama básico dos módulos do sistema, bem como suas fronteiras. Descreva sucintamente cada módulo que compõe o produto, seu objetivo e como foi construído (linguagens usadas, bancos de dados, etc.).

Decisões de Arquitetura

Descrever os seguintes itens:

Persistência de dados: Utilizando o ORM Entity Framework persistindo os dados no banco SQL Server.

Tecnologias de Integração: Possui integração com a API trafegando dados no formato json ptrf-integracao-api, por sua vez integra-se diretamente com os bancos de dados do CoreSSo e Gestão Pedagógica através de sinônimos e views.

Log: É utilizado a biblioteca log4net para persistir os logs em duas tabelas em banco relacional dentro do próprio PTRF, LogError onde é salvo todas as exceções de erro e a LogActivity onde é salvo todas as atividades do sistema, inclusão, alteração e remoção. A consulta dos logs é feita através da página "Log de ação". Na arquitetura, a log é tratada por uma camada específica do sistema chamada Log.cs que implementa a biblioteca log4net.

Padrão de Arquitetura utilizado: Padrão MVC utilizando três camadas (application, business e repository). Se houve planejamento anterior, qual o padrão utilizado? Domain Driven Design (DDD) usando a estrutura MVC? Frond-end e Back-end são separado.

Tecnologia de Front-end: É utilizado o framework AngularJS v1, Lodash, Moment e PapaParse. Utilizando a estrutura de pasta:

wwwroot/app - Onde estão localizados as configurações iniciais dos módulos, controladores, diretivas, filtros, modelos, rotas, serviços e templates

wwwroot/assets - Onde estão localizados os arquivos css, imagens e frameworks javascript.

Tecnologia de Back-End: É utilizado o framework .NET 4.5, linguagem C# com ASP.NET MVC e Entity Framework. Padrão MVC composto pelos projetos GestaoFinanceira (aplicação), pasta de solução Model composta pela pasta Interfaces e bibliotecas de classe (business, entities, repository e sharedkernel), pasta de solução Infra composta pela pasta Interfaces e bibliotecas de classe (configuration, job, mappingdependence e web).

Framework de CSS: Está sendo utilizado o framework Bootstrap 3.0.

Configurações de Otimização de deploy: O código é minificado? O código está com ofuscação? No ASP.NET foi habilitado o bundle no web.config? Quais configurações para otimizar o código são feitas?

Outros aspectos: Fique à vontade para descrever outras considerações, o importante é deixar as decisões tomadas e padrões adotados bem documentados!

Fundamentações das decisões tomadas

Nesta seção, coloque todas as considerações das tomadas de decisão realizadas para o produto. Porque foi usada tal arquitetura? Porque essa separação de componentes? Porque houve refatoração? Descreva o máximo possível nesta seção para que o histórico das decisões seja armazenado para consultas futuras.

Manual de instruções