GPIC - Backend
1.0
Aplicações .NET para o backend do GPIC
|
Bem-vindo ao código do backend do sistema Gerenciamento Institucional de Processos de Iniciação Científica (GPIC)! Este repositório contém o código das aplicações de backend do sistema GPIC, uma solução web-based para a otimização do processo de gestão do Programa Institucional de Bolsas de Iniciação Científica (PIBIC) do Centro Federal de Educação Tecnológica Celso Suckow da Fonseca (CEFET/RJ) Campus Petrópolis.
Este repositório contém o código-fonte e a definição de testes automatizados para garantir a qualidade e a correção do Backend do GPIC. A base de código é continuamente construída, testada e integrada através de um processo de integração contínua que utiliza a estrutura GitHub Actions para acelerar o desenvolvimento e avaliar o padrão de qualidade do código.
O backend faz parte do sistema GPIC, composto pelo frontend, o backend propriamente dito e um servidor isolado para a execução de processos em segundo plano que não requerem a interação do utilizador. O frontend está armazenado no repositório GPIC.WebUI, e o servidor de fundo (background worker) está localizado no subdiretório src/GPIC.WebFunction
deste repositório.
O Backend do GPIC é responsável por gerenciar e servir dados para as aplicações web através de uma interface REST API utilizando C# e .NET e interage com um banco de dados PostgreSQL. Foi concebido utilizando uma arquitetura cliente-servidor, uma arquitetura de microsserviços que utiliza contentores Docker e estruturas de Arquitetura Limpa para garantir a separação em camadas das preocupações e a testabilidade.
A arquitetura do sistema foi desenvolvida com base no modelo Cliente-Servidor. As responsabilidades foram separadas em camadas de front-end e back-end, permitindo a independência entre ambas. A adoção da Clean Architecture para arquitetura das aplicações que compõem o sistema foi baseada no intuito de alcançar coesão, redução de acoplamento e escalabilidade.
A interface de usuário foi desenvolvida como uma Single Page Application (SPA), utilizando o framework ReactJS para aprimorar a usabilidade e a experiência do usuário. O back-end foi desenvolvido utilizando C# e .NET, adotando a Arquitetura Limpa para camadas do sistema. O banco de dados utilizado foi PostgreSQL.
O sistema foi construído por meio de três aplicações distintas, cada uma operando em contêineres separados: GPIC.WebUI (responsável pela interface do usuário), GPIC.WebAPI (que oferece funcionalidades conforme as regras de negócio) e GPIC.WebFunctions (responsável por execuções periódicas de rotinas assíncronas).
A seguir, há um diagrama ilustrando a arquitetura do sistema:
Antes de executar o backend do sistema, você deverá garantir que os seguintes pontos sejam atendidos:
Para executar o backend, siga os seguintes passos:
/src
.As contribuições para este repositório são bem-vindas! Para contribuir, siga estes passos:
As suas contribuições ajudarão a aprimorar o processo de análise e controle dos projetos de IC do CEFET.
Este projeto está licenciado sob a Licença MIT - veja o ficheiro LICENSE para mais detalhes.