Home | Sprints | Requisitos | Arquitetura | Configuração | Mockups | Banco de Dados | Instalação | Deploy | Gerência | Time | Padronização | Git Workflow |
---|
Arquitetura
Nenhum dos diagramas ou padrões a seguir foi validado
Diagrama de Deploy
Backend
Módulos do Sistema:
-
Routes: Arquivos possuem o nome do serviço que será disponibilizado, como por exemplo, serviços referentes ao tutorial ficam no arquivo "TutorialRoute". Nele ficam registrados os endpointes da aplicação, ou seja, os caminhos após o endereço do servidor como
/user/login
e qual o tipo de chamada o endereço irá receberGET
,POST
,PUT
ouDELETE
-
Controllers: Aqui estão os arquivos que irão processar o que foi recebido pelos routes e chamar os métodos adequados dos services retornando uma resposta válida para o routes, normalmente em formato JSON
-
Services: Nesta pasta ficam os arquivos que validam nossas regras de negócio, como a senha válida do usuário ou se ele é administrador, utilizando o repository para fornecer os dados do banco e realizar as validações
-
Repository: Todos os arquivos aqui fazem as chamadas ao banco de dados através dos models passando os parâmetros adequados para as funções desejadas, como as colunas que se deseja dar
SELECT
, por exemplo. -
Models: Aqui estão todas as representações das tabelas do nosso banco de dados, mas de uma forma com que possamos trabalhar facilmente no código: classes. Os dados são recuperados do banco e convertidos para as classes criadas
Diagrama do Sistema:
Maneira que as camadas do sistema se comunicam. Um fluxo de dados que começa com a requisição do usuário na camada Route, segue para Controller onde são chamados os métodos de Service, que por sua vez validam os dados e encaminham para Repository que utilizam os Model para fazer ações no banco como SELECT
, INSERT
, UPDATE
e DELETE
.
Seguindo um fluxo que percorre a estrutura: Route > Controller > Service > Repository > Model.
Diagramas de Sequencia
Usuário
Frontend
Módulos do Sistema
- Components: Onde estarão localizados os componentes visuais encontrados em diferentes páginas da aplicação. Os componentes em sua maioria são genéricos e podem ser utilizado em mais de uma parte do sistema.
- Screen: Onde estarão localizadas as telas da aplicação. Cada tela é composta de diversos componentes que quando juntos apresentam funcionalidades da aplicação
-
Routes: A camada de rotas da aplicação, utilizando o padrão de arquitetura Coordinator, irá realizar a navegação entre as telas da aplicação, tendo conhecimento do fluxo e como devem se comportar. Possui a
StackNavigator
(navegação em telas empilhadas que seguem um determinado fluxo) e aTabNavigator
(navegação por blocos com funcionalidades que diferem umas das outras, possui uma barra com suas opções na parte inferior da aplicação) - Utils: Classes que podem ser reaproveitadas na aplicação, com funcionalidades de formatação de texto, modelos de entrada, acesso a constantes, etc...
- Assets: Pasta com as imagens que são utilizadas na aplicação uma ou mais vezes.
Arquitetura Básica do Frontend
A utilização de React Native permite a o desenvolvimento da aplicação inteira em JavaScript. Essa aplicação, ao invés de ser convertida para os códigos nativos do iOS e Android, é processada pelo dispositivo, assim gerando uma interface totalmente nativa para ambos os Sistemas Operacionais.
Os formato .ipa é utilizado para o sistema operacional iOS e o .apk
para o Android. Para mais informações de como gerar a aplicação e realizar o build, é possível verificar a seção
Compilação e Instalação.
Diagrama do Sistema
Maneira que as camadas do sistema se comunicam. Um conjunto de componentes (implementados de forma genérica) compõe uma tela, que é chamada pelas rotas para compor o fluxo de telas da aplicação.
Diagrama de Componentes
O diagrama de componentes da aplicação apresenta a maneira que as classes do sistema estão organizadas, levando em consideração as interfaces, dependências e componentes criados.
O diagrama abaixo foi desenvolvido pensando em facilitar o entendimento do frontend da aplicação. Durante o desenvolvimento do projeto esse diagrama será modificado para englobar funcionalidades do backend, especificações de banco de dados e outros serviços utilizados.
Pendencias
- Segurança
- Rotas de Backend (Arquitetura funcional)
- Objects – Backend API
- Methods – Backend API
- Arquitetura Não Funcional
- Análise dos principios SOLID