PTRF
Índice
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.